Message ID | 20250101015830.63570-1-yaolu@kylinos.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/amdgpu: Add null pointer check before task_info get and put | expand |
Lgtm, Reviewed-by: Shashank Sharma <shashank.sharma@amd.com> Regards Shashank On 01/01/2025 02:58, Lu Yao wrote: > This patch add null pointer check for amdgpu_vm_put_task_info and > amdgpu_vm_get_task_info_vm, because there is only a warning if create > task_info failed in amdgpu_vm_init. > > Fixes: b8f67b9ddf4f ("drm/amdgpu: change vm->task_info handling") > Signed-off-by: Lu Yao <yaolu@kylinos.cn> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index c9c48b782ec1..65edd74bd944 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -2336,7 +2336,8 @@ amdgpu_vm_get_vm_from_pasid(struct amdgpu_device *adev, u32 pasid) > */ > void amdgpu_vm_put_task_info(struct amdgpu_task_info *task_info) > { > - kref_put(&task_info->refcount, amdgpu_vm_destroy_task_info); > + if (task_info) > + kref_put(&task_info->refcount, amdgpu_vm_destroy_task_info); > } > > /** > @@ -2352,7 +2353,7 @@ amdgpu_vm_get_task_info_vm(struct amdgpu_vm *vm) > { > struct amdgpu_task_info *ti = NULL; > > - if (vm) { > + if (vm && vm->task_info) { > ti = vm->task_info; > kref_get(&vm->task_info->refcount); > }
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index c9c48b782ec1..65edd74bd944 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -2336,7 +2336,8 @@ amdgpu_vm_get_vm_from_pasid(struct amdgpu_device *adev, u32 pasid) */ void amdgpu_vm_put_task_info(struct amdgpu_task_info *task_info) { - kref_put(&task_info->refcount, amdgpu_vm_destroy_task_info); + if (task_info) + kref_put(&task_info->refcount, amdgpu_vm_destroy_task_info); } /** @@ -2352,7 +2353,7 @@ amdgpu_vm_get_task_info_vm(struct amdgpu_vm *vm) { struct amdgpu_task_info *ti = NULL; - if (vm) { + if (vm && vm->task_info) { ti = vm->task_info; kref_get(&vm->task_info->refcount); }
This patch add null pointer check for amdgpu_vm_put_task_info and amdgpu_vm_get_task_info_vm, because there is only a warning if create task_info failed in amdgpu_vm_init. Fixes: b8f67b9ddf4f ("drm/amdgpu: change vm->task_info handling") Signed-off-by: Lu Yao <yaolu@kylinos.cn> --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)