summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2015-01-12 21:12:17 -0800
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-01-21 14:57:04 +0100
commit42c5814c9c9828a7fcbe25f69c5c8cbbf29ed957 (patch)
tree62d0dc1c32cad08cc07eebcf34287e6837eeece8
parentcdd1cf799bd24ac0a4184549601ae302267301c5 (diff)
next: drm/atomic: Use copy_from_user to copy 64 bit data from user space
Copying 64 bit data from user space using get_user is not supported on all architectures, and may result in the following build error. ERROR: "__get_user_bad" [drivers/gpu/drm/drm.ko] undefined! Avoid the problem by using copy_from_user. Fixes: d34f20d6e2f2 ("drm: Atomic modeset ioctl") Cc: Rob Clark <robdclark@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/drm_atomic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 1e38dfc8e462..af3f3dfdb49f 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1259,7 +1259,9 @@ retry:
goto fail;
}
- if (get_user(prop_value, prop_values_ptr + copied_props)) {
+ if (copy_from_user(&prop_value,
+ prop_values_ptr + copied_props,
+ sizeof(prop_value))) {
ret = -EFAULT;
goto fail;
}