drm/i915/gtt: set err to -ENOMEM on memory allocation failure
authorColin Ian King <colin.king@canonical.com>
Fri, 24 May 2019 21:26:27 +0000 (22:26 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 27 May 2019 09:27:34 +0000 (10:27 +0100)
Currently when the allocation of ppgtt->work fails the error return
path via err_free returns an uninitialized value in err. Fix this
by setting err to the appropriate error return of -ENOMEM.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: d3622099c76f ("drm/i915/gtt: Always acquire struct_mutex for gen6_ppgtt_cleanup")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190524212627.24256-1-colin.king@canonical.com
drivers/gpu/drm/i915/i915_gem_gtt.c

index 266baa1..bc5ddeb 100644 (file)
@@ -2063,8 +2063,10 @@ static struct i915_hw_ppgtt *gen6_ppgtt_create(struct drm_i915_private *i915)
        ppgtt->base.vm.pte_encode = ggtt->vm.pte_encode;
 
        ppgtt->work = kmalloc(sizeof(*ppgtt->work), GFP_KERNEL);
-       if (!ppgtt->work)
+       if (!ppgtt->work) {
+               err = -ENOMEM;
                goto err_free;
+       }
 
        err = gen6_ppgtt_init_scratch(ppgtt);
        if (err)