diff mbox series

drm/amdgpu: Add null pointer check before task_info get and put

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

Commit Message

Lu Yao Jan. 1, 2025, 1:58 a.m. UTC
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(-)

Comments

Sharma, Shashank Jan. 2, 2025, 2:12 p.m. UTC | #1
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 mbox series

Patch

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);
 	}