Skip to content

Commit f02d3bf

Browse files
committed
drm/tests: modes: Fix drm_display_mode memory leak
drm_analog_tv_mode() and its variants return a drm_display_mode that needs to be destroyed later one. The drm_test_modes_analog_tv_mono_576i() test never does however, which leads to a memory leak. Let's make sure it's freed. Reported-by: Philipp Stanner <phasta@mailbox.org> Closes: https://lore.kernel.org/dri-devel/a7655158a6367ac46194d57f4b7433ef0772a73e.camel@mailbox.org/ Fixes: e315384 ("drm/tests: Add tests for the new Monochrome value of tv_mode") Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250408-drm-kunit-drm-display-mode-memleak-v1-6-996305a2e75a@kernel.org Signed-off-by: Maxime Ripard <mripard@kernel.org>
1 parent d341463 commit f02d3bf

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/gpu/drm/tests/drm_modes_test.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,17 @@ static void drm_test_modes_analog_tv_mono_576i(struct kunit *test)
156156
{
157157
struct drm_test_modes_priv *priv = test->priv;
158158
struct drm_display_mode *mode;
159+
int ret;
159160

160161
mode = drm_analog_tv_mode(priv->drm,
161162
DRM_MODE_TV_MODE_MONOCHROME,
162163
13500 * HZ_PER_KHZ, 720, 576,
163164
true);
164165
KUNIT_ASSERT_NOT_NULL(test, mode);
165166

167+
ret = drm_kunit_add_mode_destroy_action(test, mode);
168+
KUNIT_ASSERT_EQ(test, ret, 0);
169+
166170
KUNIT_EXPECT_EQ(test, drm_mode_vrefresh(mode), 50);
167171
KUNIT_EXPECT_EQ(test, mode->hdisplay, 720);
168172

0 commit comments

Comments
 (0)