drm/i915: Fix memory leaks in function live_nop_switch
Be sure to properly free the allocated memory before exiting the live_nop_switch function. Signed-off-by: Cong Liu <liucong2@kylinos.cn> Suggested-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230517050204.4111874-1-liucong2@kylinos.cn
This commit is contained in:
parent
1a365a2b24
commit
25553494b2
@ -66,7 +66,7 @@ static int live_nop_switch(void *arg)
|
||||
ctx[n] = live_context(i915, file);
|
||||
if (IS_ERR(ctx[n])) {
|
||||
err = PTR_ERR(ctx[n]);
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ static int live_nop_switch(void *arg)
|
||||
this = igt_request_alloc(ctx[n], engine);
|
||||
if (IS_ERR(this)) {
|
||||
err = PTR_ERR(this);
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
}
|
||||
if (rq) {
|
||||
i915_request_await_dma_fence(this, &rq->fence);
|
||||
@ -96,7 +96,7 @@ static int live_nop_switch(void *arg)
|
||||
intel_gt_set_wedged(engine->gt);
|
||||
i915_request_put(rq);
|
||||
err = -EIO;
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
}
|
||||
i915_request_put(rq);
|
||||
|
||||
@ -107,7 +107,7 @@ static int live_nop_switch(void *arg)
|
||||
|
||||
err = igt_live_test_begin(&t, i915, __func__, engine->name);
|
||||
if (err)
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
|
||||
end_time = jiffies + i915_selftest.timeout_jiffies;
|
||||
for_each_prime_number_from(prime, 2, 8192) {
|
||||
@ -120,7 +120,7 @@ static int live_nop_switch(void *arg)
|
||||
this = igt_request_alloc(ctx[n % nctx], engine);
|
||||
if (IS_ERR(this)) {
|
||||
err = PTR_ERR(this);
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
}
|
||||
|
||||
if (rq) { /* Force submission order */
|
||||
@ -165,7 +165,7 @@ static int live_nop_switch(void *arg)
|
||||
|
||||
err = igt_live_test_end(&t);
|
||||
if (err)
|
||||
goto out_file;
|
||||
goto out_ctx;
|
||||
|
||||
pr_info("Switch latencies on %s: 1 = %lluns, %lu = %lluns\n",
|
||||
engine->name,
|
||||
@ -173,6 +173,8 @@ static int live_nop_switch(void *arg)
|
||||
prime - 1, div64_u64(ktime_to_ns(times[1]), prime - 1));
|
||||
}
|
||||
|
||||
out_ctx:
|
||||
kfree(ctx);
|
||||
out_file:
|
||||
fput(file);
|
||||
return err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user