Skip to content

Commit 806fd6d

Browse files
dakrChristianKoenigAMD
authored andcommitted
drm/test: drm_exec: fix memory leak on object prepare
drm_exec_prepare_obj() and drm_exec_prepare_array() both reserve dma-fence slots and hence a dma_resv_list without ever freeing it. Make sure to call drm_gem_private_object_fini() for each GEM object passed to drm_exec_prepare_obj()/drm_exec_prepare_array() throughout the test to fix this up. While at it, remove some trailing empty lines. Fixes: 9710631 ("drm: add drm_exec selftests v4") Signed-off-by: Danilo Krummrich <[email protected]> Reviewed-by: Christian König <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Christian König <[email protected]>
1 parent d01cb04 commit 806fd6d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

drivers/gpu/drm/tests/drm_exec_test.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,6 @@ static void test_duplicates(struct kunit *test)
125125
drm_exec_fini(&exec);
126126
}
127127

128-
129-
130128
static void test_prepare(struct kunit *test)
131129
{
132130
struct drm_exec_priv *priv = test->priv;
@@ -145,6 +143,8 @@ static void test_prepare(struct kunit *test)
145143
break;
146144
}
147145
drm_exec_fini(&exec);
146+
147+
drm_gem_private_object_fini(&gobj);
148148
}
149149

150150
static void test_prepare_array(struct kunit *test)
@@ -165,6 +165,9 @@ static void test_prepare_array(struct kunit *test)
165165
1);
166166
KUNIT_EXPECT_EQ(test, ret, 0);
167167
drm_exec_fini(&exec);
168+
169+
drm_gem_private_object_fini(&gobj1);
170+
drm_gem_private_object_fini(&gobj2);
168171
}
169172

170173
static void test_multiple_loops(struct kunit *test)

0 commit comments

Comments
 (0)