drm/amdgpu: Avoid using signed integer to store pointer value
authorAlex Xie <AlexBin.Xie@amd.com>
Wed, 5 Apr 2017 20:33:00 +0000 (16:33 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 6 Apr 2017 17:28:07 +0000 (13:28 -0400)
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 0218cea6be4d23ff500e17e9372085198e893efa..a6649874e6ce950e90ca46a8be99de1f4f3b0af1 100644 (file)
@@ -237,7 +237,7 @@ int amdgpu_bo_list_ioctl(struct drm_device *dev, void *data,
        struct amdgpu_fpriv *fpriv = filp->driver_priv;
        union drm_amdgpu_bo_list *args = data;
        uint32_t handle = args->in.list_handle;
-       const void __user *uptr = (const void*)(long)args->in.bo_info_ptr;
+       const void __user *uptr = (const void*)(uintptr_t)args->in.bo_info_ptr;
 
        struct drm_amdgpu_bo_list_entry *info;
        struct amdgpu_bo_list *list;
index f85520d4e7111cb8386e17cba003a84fef7f8d9e..bb710e0ace01df0be77ae03f1870818e8c0fca02 100644 (file)
@@ -717,7 +717,7 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
        switch (args->op) {
        case AMDGPU_GEM_OP_GET_GEM_CREATE_INFO: {
                struct drm_amdgpu_gem_create_in info;
-               void __user *out = (void __user *)(long)args->value;
+               void __user *out = (void __user *)(uintptr_t)args->value;
 
                info.bo_size = robj->gem_base.size;
                info.alignment = robj->tbo.mem.page_alignment << PAGE_SHIFT;
index 055d10a79ea5b82643ca1aa37003207bf549acca..832be632478f0b36795eefec37a937cb014eb28e 100644 (file)
@@ -237,7 +237,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
        struct amdgpu_device *adev = dev->dev_private;
        struct drm_amdgpu_info *info = data;
        struct amdgpu_mode_info *minfo = &adev->mode_info;
-       void __user *out = (void __user *)(long)info->return_pointer;
+       void __user *out = (void __user *)(uintptr_t)info->return_pointer;
        uint32_t size = info->return_size;
        struct drm_crtc *crtc;
        uint32_t ui32 = 0;