Skip to content

Commit 32fda56

Browse files
ChristianKoenigAMDalexdeucher
authored andcommitted
drm/radeon: always set GEM function pointer
Make sure to always set the GEM function pointer even for in kernel allocations. This fixes a NULL pointer deref caused by switching to GEM references. Signed-off-by: Christian König <[email protected]> Fixes: fd69ef0 ("drm/radeon: use GEM references instead of TTMs") Acked-by: Alex Deucher <[email protected]> Tested-by: Hans de Goede <[email protected]> Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit 01b64bc)
1 parent 79bc412 commit 32fda56

File tree

2 files changed

+1
-3
lines changed

2 files changed

+1
-3
lines changed

drivers/gpu/drm/radeon/radeon_gem.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@ struct sg_table *radeon_gem_prime_get_sg_table(struct drm_gem_object *obj);
4444
int radeon_gem_prime_pin(struct drm_gem_object *obj);
4545
void radeon_gem_prime_unpin(struct drm_gem_object *obj);
4646

47-
const struct drm_gem_object_funcs radeon_gem_object_funcs;
48-
4947
static vm_fault_t radeon_gem_fault(struct vm_fault *vmf)
5048
{
5149
struct ttm_buffer_object *bo = vmf->vma->vm_private_data;
@@ -132,7 +130,6 @@ int radeon_gem_object_create(struct radeon_device *rdev, unsigned long size,
132130
return r;
133131
}
134132
*obj = &robj->tbo.base;
135-
(*obj)->funcs = &radeon_gem_object_funcs;
136133
robj->pid = task_pid_nr(current);
137134

138135
mutex_lock(&rdev->gem.mutex);

drivers/gpu/drm/radeon/radeon_object.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ int radeon_bo_create(struct radeon_device *rdev,
151151
if (bo == NULL)
152152
return -ENOMEM;
153153
drm_gem_private_object_init(rdev_to_drm(rdev), &bo->tbo.base, size);
154+
bo->tbo.base.funcs = &radeon_gem_object_funcs;
154155
bo->rdev = rdev;
155156
bo->surface_reg = -1;
156157
INIT_LIST_HEAD(&bo->list);

0 commit comments

Comments
 (0)