summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <linux@treblig.org>2010-08-02 09:43:52 +1000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-26 16:45:51 -0700
commit3770619e38c3ccdc38cf7635f5b958eca73ca284 (patch)
treeeab3cb55d872417a66f6ab6d19c99e7fd6463b8c /drivers
parent03dc7fc1b97851c561f4ca5617921dbd870434a0 (diff)
drm/radeon/kms: add missing copy from user
commit d8ab35575098b2d6dc10b2535aeb40545933ae56 upstream. This hasn't mattered up until the ioctl started using the value, and it fell apart. fixes fd.o 29340, Ubuntu LP 606081 [airlied: cleaned up whitespace and don't need an error before pushing] Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/radeon/radeon_kms.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
index ab389f89fa8d..b20379e04a9c 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -106,7 +106,9 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
info = data;
value_ptr = (uint32_t *)((unsigned long)info->value);
- value = *value_ptr;
+ if (DRM_COPY_FROM_USER(&value, value_ptr, sizeof(value)))
+ return -EFAULT;
+
switch (info->request) {
case RADEON_INFO_DEVICE_ID:
value = dev->pci_device;