Module Name:    src
Committed By:   riastradh
Date:           Wed Jul 24 02:15:30 UTC 2013

Modified Files:
        src/sys/external/bsd/drm2/dist/drm [riastradh-drm2]: drm_crtc.c

Log Message:
Avoid arithmetic on void * in drm_crtc.c.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.10 -r1.1.1.1.2.11 \
    src/sys/external/bsd/drm2/dist/drm/drm_crtc.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/drm_crtc.c
diff -u src/sys/external/bsd/drm2/dist/drm/drm_crtc.c:1.1.1.1.2.10 src/sys/external/bsd/drm2/dist/drm/drm_crtc.c:1.1.1.1.2.11
--- src/sys/external/bsd/drm2/dist/drm/drm_crtc.c:1.1.1.1.2.10	Wed Jul 24 02:15:14 2013
+++ src/sys/external/bsd/drm2/dist/drm/drm_crtc.c	Wed Jul 24 02:15:30 2013
@@ -3529,13 +3529,21 @@ int drm_mode_gamma_set_ioctl(struct drm_
 		goto out;
 	}
 
+#ifdef __NetBSD__
+	g_base = (char *)r_base + size;
+#else
 	g_base = r_base + size;
+#endif
 	if (copy_from_user(g_base, (void __user *)(unsigned long)crtc_lut->green, size)) {
 		ret = -EFAULT;
 		goto out;
 	}
 
+#ifdef __NetBSD__
+	b_base = (char *)g_base + size;
+#else
 	b_base = g_base + size;
+#endif
 	if (copy_from_user(b_base, (void __user *)(unsigned long)crtc_lut->blue, size)) {
 		ret = -EFAULT;
 		goto out;
@@ -3583,13 +3591,21 @@ int drm_mode_gamma_get_ioctl(struct drm_
 		goto out;
 	}
 
-	g_base = r_base + size;
+#ifdef __NetBSD__
+	g_base = (char *)r_base + size;
+#else
+	g_base = (char *)r_base + size;
+#endif
 	if (copy_to_user((void __user *)(unsigned long)crtc_lut->green, g_base, size)) {
 		ret = -EFAULT;
 		goto out;
 	}
 
+#ifdef __NetBSD__
+	b_base = (char *)g_base + size;
+#else
 	b_base = g_base + size;
+#endif
 	if (copy_to_user((void __user *)(unsigned long)crtc_lut->blue, b_base, size)) {
 		ret = -EFAULT;
 		goto out;

Reply via email to