drm/i915: memory leak in __i915_gem_vma_create()
Subsystems (3)
PATCH 1/1 drm/i915: memory leak in __i915_gem_vma_create()
In the original code then if WARN_ON(i915_is_ggtt(vm) != !!ggtt_view) was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix.
drivers/gpu/drm/i915/i915_gem_gtt.c +4 -3
@@ -2340,12 +2340,13 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,struct i915_address_space *vm, const struct i915_ggtt_view *ggtt_view) { - struct i915_vma *vma = kzalloc(sizeof(*vma), GFP_KERNEL); -if (vma ==NULL ) -return ERR_PTR (-ENOMEM ); + struct i915_vma *vma;if (WARN_ON (i915_is_ggtt (vm) != !!ggtt_view))return ERR_PTR (-EINVAL ); + vma =kzalloc (sizeof (*vma),GFP_KERNEL ); +if (vma ==NULL ) +return ERR_PTR (-ENOMEM );INIT_LIST_HEAD (&vma->vma_link);INIT_LIST_HEAD (&vma->mm_list);
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 6 lines · Dan Carpenter
In the original code then if
WARN_ON(i915_is_ggtt(vm) != !!ggtt_view)was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix.Fixes c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT')Signed-off-by Dan Carpenter <[email protected]>
Quoted 22 lines
drivers/gpu/drm/i915/i915_gem_gtt.c +4
-3@@ -2340,12 +2340,13 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,struct i915_address_space *vm, const struct i915_ggtt_view *ggtt_view) { - struct i915_vma *vma = kzalloc(sizeof(*vma), GFP_KERNEL); -if (vma ==NULL ) -return ERR_PTR (-ENOMEM ); + struct i915_vma *vma;if (WARN_ON (i915_is_ggtt (vm) != !!ggtt_view))return ERR_PTR (-EINVAL ); + vma =kzalloc (sizeof (*vma),GFP_KERNEL ); +if (vma ==NULL ) +return ERR_PTR (-ENOMEM );INIT_LIST_HEAD (&vma->vma_link);INIT_LIST_HEAD (&vma->mm_list);
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter
AppliedQuoted 9 lines · Jani Nikula
Quoted 6 lines · Dan Carpenter
In the original code then if
WARN_ON(i915_is_ggtt(vm) != !!ggtt_view)was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix.Fixes c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT')Signed-off-by Dan Carpenter <[email protected]>Reviewed-by Jani Nikula <[email protected]>
Queued for -next, thanks for the patch.
-Daniel
Quoted 30 lines
Quoted 23 lines
drivers/gpu/drm/i915/i915_gem_gtt.c +4
-3@@ -2340,12 +2340,13 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,struct i915_address_space *vm, const struct i915_ggtt_view *ggtt_view) { - struct i915_vma *vma = kzalloc(sizeof(*vma), GFP_KERNEL); -if (vma ==NULL ) -return ERR_PTR (-ENOMEM ); + struct i915_vma *vma;if (WARN_ON (i915_is_ggtt (vm) != !!ggtt_view))return ERR_PTR (-EINVAL ); + vma =kzalloc (sizeof (*vma),GFP_KERNEL ); +if (vma ==NULL ) +return ERR_PTR (-ENOMEM );INIT_LIST_HEAD (&vma->vma_link);INIT_LIST_HEAD (&vma->mm_list);Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 3 lines
Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
Joonas Lahtinen
maintainerQuoted 6 lines · Daniel Vetter
Quoted 5 lines · Jani Nikula
Quoted 4 lines · Dan Carpenter
In the original code then if
WARN_ON(i915_is_ggtt(vm) != !!ggtt_view)was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix.
Correct, it was originally BUG_ON and then relaxed down to a warning in last series, so it slipped through. So it should practically be impossible to happen, but suits well to make static checker happier.
Regards, Joonas
Quoted 39 lines
Quoted 4 lines
Quoted 2 lines
Fixes c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT')Signed-off-by Dan Carpenter <[email protected]>Reviewed-by Jani Nikula <[email protected]>Queued for -next, thanks for the patch.
-DanielQuoted 30 lines
Quoted 23 lines
drivers/gpu/drm/i915/i915_gem_gtt.c +4
-3@@ -2340,12 +2340,13 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,struct i915_address_space *vm, const struct i915_ggtt_view *ggtt_view) { - struct i915_vma *vma = kzalloc(sizeof(*vma), GFP_KERNEL); -if (vma ==NULL ) -return ERR_PTR (-ENOMEM ); + struct i915_vma *vma;if (WARN_ON (i915_is_ggtt (vm) != !!ggtt_view))return ERR_PTR (-EINVAL ); + vma =kzalloc (sizeof (*vma),GFP_KERNEL ); +if (vma ==NULL ) +return ERR_PTR (-ENOMEM );INIT_LIST_HEAD (&vma->vma_link);INIT_LIST_HEAD (&vma->mm_list);Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx