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 <[email protected]> --- 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
