diff mbox

drm/amdgpu: fix a vm_flush fence leak

Message ID 1477247507-11378-3-git-send-email-notasas@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Grazvydas Ignotas Oct. 23, 2016, 6:31 p.m. UTC
Looks like .last_flush reference is left at teardown.
Leak reported by CONFIG_SLUB_DEBUG.

Fixes: 41d9eb2c5a2a ("drm/amdgpu: add a fence after the VM flush")
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Chunming Zhou Oct. 24, 2016, 2:32 a.m. UTC | #1
On 2016年10月24日 02:31, Grazvydas Ignotas wrote:
> Looks like .last_flush reference is left at teardown.
> Leak reported by CONFIG_SLUB_DEBUG.
>
> Fixes: 41d9eb2c5a2a ("drm/amdgpu: add a fence after the VM flush")
> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index ded57dd..d6c2839 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1774,5 +1774,6 @@ void amdgpu_vm_manager_fini(struct amdgpu_device *adev)
>   		fence_put(adev->vm_manager.ids[i].first);
>   		amdgpu_sync_free(&adev->vm_manager.ids[i].active);
>   		fence_put(id->flushed_updates);
> +		fence_put(id->last_flush);
>   	}
>   }
Christian König Oct. 24, 2016, 9:07 a.m. UTC | #2
Am 24.10.2016 um 04:32 schrieb zhoucm1:
>
>
> On 2016年10月24日 02:31, Grazvydas Ignotas wrote:
>> Looks like .last_flush reference is left at teardown.
>> Leak reported by CONFIG_SLUB_DEBUG.
>>
>> Fixes: 41d9eb2c5a2a ("drm/amdgpu: add a fence after the VM flush")
>> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com>.

>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> index ded57dd..d6c2839 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -1774,5 +1774,6 @@ void amdgpu_vm_manager_fini(struct 
>> amdgpu_device *adev)
>>           fence_put(adev->vm_manager.ids[i].first);
>> amdgpu_sync_free(&adev->vm_manager.ids[i].active);
>>           fence_put(id->flushed_updates);
>> +        fence_put(id->last_flush);
>>       }
>>   }
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Alex Deucher Oct. 24, 2016, 4:11 p.m. UTC | #3
On Mon, Oct 24, 2016 at 5:07 AM, Christian König
<deathsimple@vodafone.de> wrote:
> Am 24.10.2016 um 04:32 schrieb zhoucm1:
>>
>>
>>
>> On 2016年10月24日 02:31, Grazvydas Ignotas wrote:
>>>
>>> Looks like .last_flush reference is left at teardown.
>>> Leak reported by CONFIG_SLUB_DEBUG.
>>>
>>> Fixes: 41d9eb2c5a2a ("drm/amdgpu: add a fence after the VM flush")
>>> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
>>
>> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>.
>
>>> ---
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> index ded57dd..d6c2839 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> @@ -1774,5 +1774,6 @@ void amdgpu_vm_manager_fini(struct amdgpu_device
>>> *adev)
>>>           fence_put(adev->vm_manager.ids[i].first);
>>> amdgpu_sync_free(&adev->vm_manager.ids[i].active);
>>>           fence_put(id->flushed_updates);
>>> +        fence_put(id->last_flush);
>>>       }
>>>   }

Applied.  Thanks!

Alex
diff mbox

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index ded57dd..d6c2839 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1774,5 +1774,6 @@  void amdgpu_vm_manager_fini(struct amdgpu_device *adev)
 		fence_put(adev->vm_manager.ids[i].first);
 		amdgpu_sync_free(&adev->vm_manager.ids[i].active);
 		fence_put(id->flushed_updates);
+		fence_put(id->last_flush);
 	}
 }