summary refs log tree commit diff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <linux@treblig.org>2010-08-02 09:43:52 +1000
committerDave Airlie <airlied@redhat.com>2010-08-10 08:13:55 +1000
commitd8ab35575098b2d6dc10b2535aeb40545933ae56 (patch)
tree7eb2c3fd7dc881f95b0d854c5f9133fdf74cecee /drivers/gpu
parent96576a9e1a0cdb8a43d3af5846be0948f52b4460 (diff)
downloadlinux-d8ab35575098b2d6dc10b2535aeb40545933ae56.tar.gz
drm/radeon/kms: add missing copy from user
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>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-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 ddcd3b13f151..948a2f454e42 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -112,7 +112,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;