Running the full kunit suite on arm64 (128-core Neoverse N2) with 7.1-rc3+
produces a handful of backtraces that are not real kernel bugs but
rather test-infrastructure issues: races with boot-time code, missing
bounds checks, resource leaks, and sysfs duplicate-name splats.

This series fixes them one by one so that a clean kunit run no longer
leaves noise in dmesg:

 1. init/initramfs_test races with the async rootfs unpacker; add
    wait_for_initramfs() in suite .init.
 2. kfence kunit cases fail outright when the pool is unavailable;
    skip them instead.
 3. intlog2(0) / intlog10(0) hit a WARN_ON that is harmless; remove it.
 4. kunit_platform_device_add() triggers sysfs_warn_dup() on the
    duplicate-registration test; catch duplicates early in the kunit
    helper (best-effort; final protection remains in driver core/sysfs).
 5. misc_register() likewise hits sysfs_warn_dup(); reject duplicate
    names explicitly. misc->name is never NULL at this point since the
    existing code already dereferences it unconditionally.
 6. hw_breakpoint test_many_cpus overflows its array on machines with
    many cores; bail out at the limit.
 7. test_ratelimit stress test checks the wrong variable for kthread
    creation, leaks memory, and races on doneflag. Use goto-based
    cleanup to guarantee all started threads are stopped on failure.

All patches are independent and can be applied/reviewed separately.
Tested on arm64 Neoverse N2 (128-core arm64) with
CONFIG_KUNIT=y and CONFIG_KUNIT_ALL_TESTS=y.

Jia He (7):
  init/initramfs_test: wait_for_initramfs() before running
  kfence: kunit: skip when no pool is available
  lib/math/int_log: drop WARN_ON for value == 0
  kunit: platform: catch duplicate (name, id) in kunit_platform_device_add()
  misc: reject duplicate names in misc_register()
  hw_breakpoint_test: fix test_many_cpus failure on large systems
  lib/tests: test_ratelimit: fix stress test thread lifecycle and leak

 drivers/char/misc.c                |  22 ++++++++++++++++++
 init/initramfs_test.c              |  17 +++++++++++++-
 kernel/events/hw_breakpoint_test.c |  12 ++++++++++
 lib/kunit/platform.c               |  36 +++++++++++++++++++++++++++++
 lib/math/int_log.c                 |   8 ++-----
 lib/tests/test_ratelimit.c         |  26 ++++++++++++++++-----
 mm/kfence/kfence_test.c            |   6 +++--
 7 files changed, 115 insertions(+), 12 deletions(-)

Reply via email to