[PATCH] drm/radeon: fix __user annotation in radeon_info_ioctl()
From: Ben Dooks
Date: Wed Mar 11 2026 - 10:22:23 EST
The radeon_info_ioctl() is obviously called from an ioctl()
entry for this device, and uses copy_{to,from)_user() on
the value_ptr variable.
This is generating sparse warnings due to use lack of __user
annotation on the value_ptr, so add this to remove the
following warnings:
drivers/gpu/drm/radeon/radeon_kms.c:262:43: warning: incorrect type in argument 2 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:262:43: expected void const [noderef] __user *from
drivers/gpu/drm/radeon/radeon_kms.c:262:43: got unsigned int [usertype] *[assigned] value_ptr
drivers/gpu/drm/radeon/radeon_kms.c:319:43: warning: incorrect type in argument 2 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:319:43: expected void const [noderef] __user *from
drivers/gpu/drm/radeon/radeon_kms.c:319:43: got unsigned int [usertype] *[assigned] value_ptr
drivers/gpu/drm/radeon/radeon_kms.c:331:43: warning: incorrect type in argument 2 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:331:43: expected void const [noderef] __user *from
drivers/gpu/drm/radeon/radeon_kms.c:331:43: got unsigned int [usertype] *[assigned] value_ptr
drivers/gpu/drm/radeon/radeon_kms.c:467:43: warning: incorrect type in argument 2 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:467:43: expected void const [noderef] __user *from
drivers/gpu/drm/radeon/radeon_kms.c:467:43: got unsigned int [usertype] *[assigned] value_ptr
drivers/gpu/drm/radeon/radeon_kms.c:592:43: warning: incorrect type in argument 2 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:592:43: expected void const [noderef] __user *from
drivers/gpu/drm/radeon/radeon_kms.c:592:43: got unsigned int [usertype] *[assigned] value_ptr
drivers/gpu/drm/radeon/radeon_kms.c:609:26: warning: incorrect type in argument 1 (different address spaces)
drivers/gpu/drm/radeon/radeon_kms.c:609:26: expected void [noderef] __user *to
drivers/gpu/drm/radeon/radeon_kms.c:609:26: got unsigned int [usertype] *[assigned] value_ptr
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
---
drivers/gpu/drm/radeon/radeon_kms.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
index dc43fd790a9c..57bc60c33937 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -231,13 +231,14 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
struct radeon_device *rdev = dev->dev_private;
struct drm_radeon_info *info = data;
struct radeon_mode_info *minfo = &rdev->mode_info;
- uint32_t *value, value_tmp, *value_ptr, value_size;
+ uint32_t *value, value_tmp, value_size;
+ uint32_t __user *value_ptr;
struct ttm_resource_manager *man;
uint64_t value64;
struct drm_crtc *crtc;
int i, found;
- value_ptr = (uint32_t *)((unsigned long)info->value);
+ value_ptr = (uint32_t __user *)((unsigned long)info->value);
value = &value_tmp;
value_size = sizeof(uint32_t);
--
2.37.2.352.g3c44437643