When i915_random_order() returns NULL to order, no error return code of igt_buddy_alloc_smoke() is assigned. To fix this bug, err is assigned with -EINVAL in this case.
Fixes: 1fe3818d17c9 ("drm/i915/selftests: try to rein in alloc_smoke") Reported-by: TOTE Robot oslab@tsinghua.edu.cn Signed-off-by: Jia-Ju Bai baijiaju1990@gmail.com --- drivers/gpu/drm/i915/selftests/i915_buddy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/selftests/i915_buddy.c b/drivers/gpu/drm/i915/selftests/i915_buddy.c index 632b912b0bc9..cf9b551b77e1 100644 --- a/drivers/gpu/drm/i915/selftests/i915_buddy.c +++ b/drivers/gpu/drm/i915/selftests/i915_buddy.c @@ -318,8 +318,10 @@ static int igt_buddy_alloc_smoke(void *arg) }
order = i915_random_order(mm.max_order + 1, &prng); - if (!order) + if (!order) { + err = -EINVAL; goto out_fini; + }
for (i = 0; i <= mm.max_order; ++i) { struct i915_buddy_block *block;