[Intel-gfx] [PATCH] Memory leak fix

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 2 08:21:43 UTC 2020


Quoting Steve Hampson (2020-10-02 05:52:15)
> Static analysis detected a memory leak if the second kmalloc fails
> and the first allocation is not freed.
> 
> Signed-off-by: Steve Hampson <steven.t.hampson at intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
> index 12b30075134a..c8be7534a2fb 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
> @@ -234,8 +234,10 @@ i915_gem_userptr_init__mmu_notifier(struct drm_i915_gem_object *obj,
>                 return PTR_ERR(mn);
>  
>         mo = kzalloc(sizeof(*mo), GFP_KERNEL);
> -       if (!mo)
> +       if (!mo) {
> +               kfree(mn);

mn is still being referenced by mm->mn and mmu_notifiers here.
It will be released along with the mm when all objects drop their ref to
obj->userptr.mm, which includes after this error.
-Chris


More information about the Intel-gfx mailing list