Module Name: src
Committed By: msaitoh
Date: Tue Oct 15 18:50:45 UTC 2019
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: intel_dp.c
Log Message:
Don't pass null pointer as argument 2 of memcpy(). Same as Linux.
Found by kUBSan.
To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.19 src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.20
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.19 Thu Sep 13 08:25:55 2018
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c Tue Oct 15 18:50:44 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_dp.c,v 1.19 2018/09/13 08:25:55 mrg Exp $ */
+/* $NetBSD: intel_dp.c,v 1.20 2019/10/15 18:50:44 msaitoh Exp $ */
/*
* Copyright © 2008 Intel Corporation
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_dp.c,v 1.19 2018/09/13 08:25:55 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_dp.c,v 1.20 2019/10/15 18:50:44 msaitoh Exp $");
#include <linux/i2c.h>
#include <linux/slab.h>
@@ -989,7 +989,10 @@ intel_dp_aux_transfer(struct drm_dp_aux
if (WARN_ON(txsize > 20))
return -E2BIG;
- memcpy(txbuf + HEADER_SIZE, msg->buffer, msg->size);
+ WARN_ON(!msg->buffer != !msg->size);
+
+ if (msg->buffer)
+ memcpy(txbuf + HEADER_SIZE, msg->buffer, msg->size);
ret = intel_dp_aux_ch(intel_dp, txbuf, txsize, rxbuf, rxsize);
if (ret > 0) {