| From: Guenter Roeck <linux@roeck-us.net> |
| Subject: drm: suppress intentional warning backtraces in scaling unit tests |
| Date: Thu, 13 Mar 2025 11:43:20 +0000 |
| |
| The drm_test_rect_calc_hscale and drm_test_rect_calc_vscale unit tests |
| intentionally trigger warning backtraces by providing bad parameters to |
| the tested functions. What is tested is the return value, not the |
| existence of a warning backtrace. Suppress the backtraces to avoid |
| clogging the kernel log and distraction from real problems. |
| |
| Link: https://lkml.kernel.org/r/20250313114329.284104-6-acarmina@redhat.com |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Signed-off-by: Alessandro Carminati <acarmina@redhat.com> |
| Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> |
| Acked-by: Dan Carpenter <dan.carpenter@linaro.org> |
| Acked-by: Maíra Canal <mcanal@igalia.com> |
| Acked-by: David Gow <davidgow@google.com> |
| Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> |
| Cc: David Airlie <airlied@gmail.com> |
| Cc: Daniel Vetter <daniel@ffwll.ch> |
| Cc: Albert Ou <aou@eecs.berkeley.edu> |
| Cc: Alexander Gordeev <agordeev@linux.ibm.com> |
| Cc: Arnd Bergmann <arnd@arndb.de> |
| Cc: Arthur Grillo <arthurgrillo@riseup.net> |
| Cc: Borislav Petkov <bp@alien8.de> |
| Cc: Brendan Higgins <brendan.higgins@linux.dev> |
| Cc: Catalin Marinas <catalin.marinas@arm.com> |
| Cc: Charlie Jenkins <charlie@rivosinc.com> |
| Cc: Daniel Diaz <daniel.diaz@linaro.org> |
| Cc: Dave Hansen <dave.hansen@linux.intel.com> |
| Cc: Heiko Carstens <hca@linux.ibm.com> |
| Cc: Helge Deller <deller@gmx.de> |
| Cc: Huacai Chen <chenhuacai@kernel.org> |
| Cc: Ingo Molnar <mingo@redhat.com> |
| Cc: Jani Nikula <jani.nikula@intel.com> |
| Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> |
| Cc: Kees Cook <keescook@chromium.org> |
| Cc: Maxime Ripard <mripard@kernel.org> |
| Cc: Michael Ellerman <mpe@ellerman.id.au> |
| Cc: Naresh Kamboju <naresh.kamboju@linaro.org> |
| Cc: Palmer Dabbelt <palmer@dabbelt.com> |
| Cc: Paul Walmsley <paul.walmsley@sifive.com> |
| Cc: Rae Moar <rmoar@google.com> |
| Cc: Rich Felker <dalias@libc.org> |
| Cc: Simon Horman <horms@kernel.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Cc: Thomas Zimemrmann <tzimmermann@suse.de> |
| Cc: Vasily Gorbik <gor@linux.ibm.com> |
| Cc: Ville Syrjala <ville.syrjala@linux.intel.com> |
| Cc: Will Deacon <will@kernel.org> |
| Cc: Yoshinori Sato <ysato@users.sourceforge.jp> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| drivers/gpu/drm/tests/drm_rect_test.c | 16 ++++++++++++++++ |
| 1 file changed, 16 insertions(+) |
| |
| --- a/drivers/gpu/drm/tests/drm_rect_test.c~drm-suppress-intentional-warning-backtraces-in-scaling-unit-tests |
| +++ a/drivers/gpu/drm/tests/drm_rect_test.c |
| @@ -406,22 +406,38 @@ KUNIT_ARRAY_PARAM(drm_rect_scale, drm_re |
| |
| static void drm_test_rect_calc_hscale(struct kunit *test) |
| { |
| + DEFINE_SUPPRESSED_WARNING(drm_calc_scale); |
| const struct drm_rect_scale_case *params = test->param_value; |
| int scaling_factor; |
| |
| + /* |
| + * drm_rect_calc_hscale() generates a warning backtrace whenever bad |
| + * parameters are passed to it. This affects all unit tests with an |
| + * error code in expected_scaling_factor. |
| + */ |
| + KUNIT_START_SUPPRESSED_WARNING(drm_calc_scale); |
| scaling_factor = drm_rect_calc_hscale(¶ms->src, ¶ms->dst, |
| params->min_range, params->max_range); |
| + KUNIT_END_SUPPRESSED_WARNING(drm_calc_scale); |
| |
| KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor); |
| } |
| |
| static void drm_test_rect_calc_vscale(struct kunit *test) |
| { |
| + DEFINE_SUPPRESSED_WARNING(drm_calc_scale); |
| const struct drm_rect_scale_case *params = test->param_value; |
| int scaling_factor; |
| |
| + /* |
| + * drm_rect_calc_vscale() generates a warning backtrace whenever bad |
| + * parameters are passed to it. This affects all unit tests with an |
| + * error code in expected_scaling_factor. |
| + */ |
| + KUNIT_START_SUPPRESSED_WARNING(drm_calc_scale); |
| scaling_factor = drm_rect_calc_vscale(¶ms->src, ¶ms->dst, |
| params->min_range, params->max_range); |
| + KUNIT_END_SUPPRESSED_WARNING(drm_calc_scale); |
| |
| KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor); |
| } |
| _ |