Hi Linus,
Please pull the following KUnit next update for Linux 6.8-rc1.
This KUnit next update for Linux 6.9-rc1 consists of:
-- fix to make kunit_bus_type const
-- kunit tool change to Print UML command
-- DRM device creation helpers are now using the new kunit device creation helpers. This change resulted in DRM helpers switching from using a platform_device, to a dedicated bus and device type used by kunit. kunit devices don't set DMA mask and this caused regression on some drm tests as they can't allocate DMA buffers. Fix this problem by setting DMA masks on the kunit device during initialization.
-- KUnit has several macros which accept a log message, which can contain printf format specifiers. Some of these (the explicit log macros) already use the __printf() gcc attribute to ensure the format specifiers are valid, but those which could fail the test, and hence used __kunit_do_failed_assertion() behind the scenes, did not.
These include: KUNIT_EXPECT_*_MSG(), KUNIT_ASSERT_*_MSG(), and KUNIT_FAIL()
A 9 patch series adds the __printf() attribute, and fixes all of the issues uncovered.
Note: make allmodconfig x86 passed passed for me on March 4th linux-next (This could be with Stephen's fix up for the following problem).
Stephen found a problem in drivers/gpu/drm/tests/drm_buddy_test.c
Caused by commit
806cb2270237 ("kunit: Annotate _MSG assertion variants with gnu printf specifiers")
interacting with commit
c70703320e55 ("drm/tests/drm_buddy: add alloc_range_bias test")
from the drm-misc-fixes tree.
Stephen found that the problem is not with the format string types, but with a missing argument i.e. there is another argument required by the format string.
It is easier to fix this problem in the drm-misc-fixes tree.
The hope is that the fix to the problem has been sent to you or will be sent to you before the merge.
If not Stephen's fix up will be necessary.
diff is attached.
thanks, -- Shuah
---------------------------------------------------------------- The following changes since commit d206a76d7d2726f3b096037f2079ce0bd3ba329b:
Linux 6.8-rc6 (2024-02-25 15:46:06 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux_kselftest-kunit-6.9-rc1
for you to fetch changes up to 806cb2270237ce2ec672a407d66cee17a07d3aa2:
kunit: Annotate _MSG assertion variants with gnu printf specifiers (2024-02-28 13:07:49 -0700)
---------------------------------------------------------------- linux_kselftest-kunit-6.9-rc1
This KUnit next update for Linux 6.9-rc1 consists of:
-- fix to make kunit_bus_type const
-- kunit tool change to Print UML command
-- DRM device creation helpers are now using the new kunit device creation helpers. This change resulted in DRM helpers switching from using a platform_device, to a dedicated bus and device type used by kunit. kunit devices don't set DMA mask and this caused regression on some drm tests as they can't allocate DMA buffers. Fix this problem by setting DMA masks on the kunit device during initialization.
-- KUnit has several macros which accept a log message, which can contain printf format specifiers. Some of these (the explicit log macros) already use the __printf() gcc attribute to ensure the format specifiers are valid, but those which could fail the test, and hence used __kunit_do_failed_assertion() behind the scenes, did not.
These include: KUNIT_EXPECT_*_MSG(), KUNIT_ASSERT_*_MSG(), and KUNIT_FAIL()
A 9 patch series adds the __printf() attribute, and fixes all of the issues uncovered.
---------------------------------------------------------------- David Gow (9): kunit: test: Log the correct filter string in executor_test lib/cmdline: Fix an invalid format specifier in an assertion msg lib: memcpy_kunit: Fix an invalid format specifier in an assertion msg time: test: Fix incorrect format specifier rtc: test: Fix invalid format specifier. net: test: Fix printf format specifier in skb_segment kunit test drm/xe/tests: Fix printf format specifiers in xe_migrate test drm: tests: Fix invalid printf format specifiers in KUnit tests kunit: Annotate _MSG assertion variants with gnu printf specifiers
Lucas De Marchi (1): kunit: Mark filter* params as rw
Maxime Ripard (1): kunit: Setup DMA masks on the kunit device
Mickaël Salaün (1): kunit: tool: Print UML command
Ricardo B. Marliere (1): kunit: make kunit_bus_type const
drivers/gpu/drm/tests/drm_buddy_test.c | 14 +++++++------- drivers/gpu/drm/tests/drm_mm_test.c | 6 +++--- drivers/gpu/drm/xe/tests/xe_migrate.c | 8 ++++---- drivers/rtc/lib_test.c | 2 +- include/kunit/test.h | 12 ++++++------ kernel/time/time_test.c | 2 +- lib/cmdline_kunit.c | 2 +- lib/kunit/device.c | 6 +++++- lib/kunit/executor.c | 6 +++--- lib/kunit/executor_test.c | 2 +- lib/memcpy_kunit.c | 4 ++-- net/core/gso_test.c | 2 +- tools/testing/kunit/kunit_kernel.py | 1 + 13 files changed, 36 insertions(+), 31 deletions(-) ----------------------------------------------------------------