OSDN Git Service

amdgpu: fix 32-on-64 support (v2)
authorJammy Zhou <Jammy.Zhou@amd.com>
Thu, 7 May 2015 03:38:28 +0000 (11:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Aug 2015 17:47:49 +0000 (13:47 -0400)
0xffffffff was appended to the higher 32bit with (intptr_t) when use
32bit libdrm_amdgpu.so with 64bit kernel, and it caused segmentation
fault for 32bit application.

v2: switch to uintptr_t

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
amdgpu/amdgpu_bo.c

index 9321f8b..587c1d0 100644 (file)
@@ -194,7 +194,7 @@ int amdgpu_bo_query_info(amdgpu_bo_handle bo,
        /* Query buffer info. */
        gem_op.handle = bo->handle;
        gem_op.op = AMDGPU_GEM_OP_GET_GEM_CREATE_INFO;
-       gem_op.value = (intptr_t)&bo_info;
+       gem_op.value = (uintptr_t)&bo_info;
 
        r = drmCommandWriteRead(bo->dev->fd, DRM_AMDGPU_GEM_OP,
                                &gem_op, sizeof(gem_op));