All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH v4 0/4] tst_kconfig: automatic module load/unload for CONFIG_*=m
@ 2026-10-14  6:11 Li Wang
  2026-10-14  6:11 ` [LTP] [PATCH v4 1/4] lib: add module is loaded check Li Wang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Li Wang @ 2026-10-14  6:11 UTC (permalink / raw)
  To: ltp

From: "Li Wang (Hieco)" <li.wang@linux.dev>

Tests that depend on a config set to =m currently load the module
themselves, and may fail with misleading errors when it is missing,
e.g. bind() returning EADDRNOTAVAIL for AF_VSOCK without vsock_loopback.

This series makes tst_kconfig record the module for every
config_module_maps[] entry seen as =m, load them once the kernel
config check passes, and unload them at cleanup time.

Changes in v4:
- tst_kconfig: fold module_name_for_config() into
  kconfig_module_record()
- tst_kconfig: move the choice == 'm' gate into
  kconfig_module_record() and pass struct tst_kconfig_var * instead
  of the raw config name.

Changes in v3:
- Queue only configs that stay 'm' after kconfig_module_check(),
  so a module downgraded to 'n' does not abort an otherwise
  runnable test.
- Unload with "modprobe -r" instead of "rmmod" to also remove
  dependencies pulled in by modprobe.
- Drop the redundant geteuid() check in the unload path.
- Raise MAX_LOADED_MODULES from 16 to 32.
- cve-2025-21756: drop privileges to nobody after module loading
  and regain root in cleanup(), so the reproducer runs from a
  non-root context while the framework can still unload modules.

Changes in v2:
- Add tst_module_is_loaded() helper.
- Only load/unload modules that are not already loaded.
- Skip automatic loading when KCONFIG_SKIP_CHECK=1, keeping the
  semantics consistent with skipping the config check.
- Document the KCONFIG_SKIP_CHECK=1 behaviour for keyctl29/keyctl30
  and the vsock/vsock_loopback mapping.


Li Wang (Hieco) (4):
  lib: add module is loaded check
  tst_kconfig: load and unload kernel modules for CONFIG_*=m
  tst_kconfig: add module mappings for vsock/vsock_loopback
  testcases: drop manual tst_modprobe() now handled by tst_kconfig

 include/tst_kconfig.h                       | 28 ++++++++
 include/tst_module.h                        |  1 +
 lib/tst_kconfig.c                           | 77 +++++++++++++++++++++
 lib/tst_module.c                            | 39 +++++++++++
 lib/tst_test.c                              | 11 ++-
 testcases/cve/cve-2025-21756.c              | 40 +++++++++++
 testcases/cve/cve-2026-46331.c              |  7 --
 testcases/cve/sctphantom.c                  |  3 -
 testcases/kernel/syscalls/keyctl/keyctl29.c |  3 -
 testcases/kernel/syscalls/keyctl/keyctl30.c |  3 -
 10 files changed, 194 insertions(+), 18 deletions(-)

-- 
2.56.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-14  9:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-14  6:11 [LTP] [PATCH v4 0/4] tst_kconfig: automatic module load/unload for CONFIG_*=m Li Wang
2026-10-14  6:11 ` [LTP] [PATCH v4 1/4] lib: add module is loaded check Li Wang
2026-10-14  7:41   ` [LTP] " linuxtestproject.agent
2026-10-14  6:12 ` [LTP] [PATCH v4 2/4] tst_kconfig: load and unload kernel modules for CONFIG_*=m Li Wang
2026-10-14  6:12 ` [LTP] [PATCH v4 3/4] tst_kconfig: add module mappings for vsock/vsock_loopback Li Wang
2026-10-14  6:12 ` [LTP] [PATCH v4 4/4] testcases: drop manual tst_modprobe() now handled by tst_kconfig Li Wang
2026-10-14  9:31   ` Wake Liu via ltp

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.