OpenVZ / Virtuozzo kernel development (devel@openvz.org)
 help / color / mirror / Atom feed
* [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests
@ 2026-10-26 18:05 Konstantin Khorenko
  2026-10-26 18:05 ` [Devel] [PATCH hci-8.1 1/4] configs: add a User Mode Linux config " Konstantin Khorenko
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Konstantin Khorenko @ 2026-10-26 18:05 UTC (permalink / raw)
  To: Eva Kurchatova; +Cc: devel

Several KUnit tests can only be built into the kernel image, and the
shipped kernel builds its tests as modules, so nothing runs them. The
series adds a "um" config variant: a User Mode Linux kernel with every
KUnit test built in, under KASAN and UBSAN. kernel.spec builds it with
ARCH=um, kernel-selftests-internal ships it, and the hci-kunit test runs
it.

The variant inherits the generic and generic-x86 layers, so the tests
meet the options of the shipped x86_64 kernel, vz ones included. What
differs lives in custom-overrides/generic/um, one file per option as
for the other variants, and passes process_configs.sh -n -w -c.

- 1/4: the um variant, with the reason for each option turned off
- 2/4: KASAN_KUNIT_TEST keeps its prompt under KUNIT_ALL_TESTS, so
  that the um config can leave it out
- 3/4: KASAN, without its self-test
- 4/4: no debug info, which kernel.spec would throw away anyway

Outside this series:

- vzkernel.vzspecs: "kernel.spec: build the User Mode Linux KUnit
  kernel" builds and packages it from kernel-um-rhel.config
- git-publish.sh brings kernel-um-rhel.config to vzkernel.vzspecs
  along with the x86_64 configs
- hci-tests PR #9241 (hci-kunit) runs it; a follow-up boots it with
  kasan_multi_shot

The overrides and their reasons come from Eva Kurchatova's
kunit-uml-config.sh approach in vzkernel.vzspecs, which derived the
config at build time. This series moves the config into the kernel
tree.

https://virtuozzo.atlassian.net/browse/VSTOR-143636
https://virtuozzo.atlassian.net/browse/VSTOR-148112

Assisted-by: LLM
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>

---
Konstantin Khorenko (4):
      configs: add a User Mode Linux config for the KUnit tests
      kasan: let a config leave the KUnit test out under KUNIT_ALL_TESTS
      configs: build the User Mode Linux KUnit kernel with KASAN
      configs: build the User Mode Linux KUnit kernel without debug info

 lib/Kconfig.kasan                                                      | 2 +-
 redhat/configs/common/generic/um/README                                | 0
 redhat/configs/custom-overrides/generic/um/CONFIG_BITFIELD_KUNIT       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_BITS_TEST            | 1 +
 .../custom-overrides/generic/um/CONFIG_BLACKHOLE_DEV_KUNIT_TEST        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_BLK_DEV_UBD          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CHECKSUM_KUNIT       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CLK_FD_KUNIT_TEST    | 1 +
 .../custom-overrides/generic/um/CONFIG_CLK_FIXED_RATE_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CLK_GATE_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CLK_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CMDLINE_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CON_CHAN             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CON_ZERO_CHAN        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_CPUMASK_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DAMON_DBGFS          | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_DAMON_DBGFS_DEPRECATED  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_INFO           | 1 +
 .../generic/um/CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT               | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_INFO_NONE      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_NOTIFIERS      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS        | 1 +
 .../custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_FREE   | 1 +
 .../custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER    | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_RCU_HEAD  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_TIMERS | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_OBJECTS_WORK   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_PLIST          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_SG             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_STACK_USAGE    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_VM             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DEBUG_VM_PGFLAGS     | 1 +
 .../custom-overrides/generic/um/CONFIG_DEFAULT_SECURITY_APPARMOR       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DM_KUNIT_TEST        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DRIVER_PE_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DRM_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DRM_SCHED_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_DRM_XE_KUNIT_TEST    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_EXT4_FS              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_EXT4_KUNIT_TESTS     | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_FAT_FS               | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_FAT_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_FORCE_NR_CPUS        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_FORTIFY_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_FW_CS_DSP_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_GPROF                | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_HASHTABLE_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_HASH_KUNIT_TEST      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_HOSTFS               | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_HZ_PERIODIC          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_IIO                  | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_IIO_FORMAT_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_IIO_GTS_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_IIO_KFIFO_BUF        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_IIO_TRIGGERED_BUFFER | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_INPUT_KUNIT_TEST     | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_INT_POW_TEST         | 1 +
 .../custom-overrides/generic/um/CONFIG_IS_SIGNED_TYPE_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_JBD2                 | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN                | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN_GENERIC        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN_INLINE         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN_KUNIT_TEST     | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN_OUTLINE        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KASAN_VMALLOC        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KERNEL_STACK_ORDER   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KUNIT                | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KUNIT_ALL_TESTS      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KUNIT_EXAMPLE_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_KUNIT_TEST           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_LD_SCRIPT_DYN_RPATH  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_LINEAR_RANGES_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_LIST_KUNIT_TEST      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MCONSOLE             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MCTP                 | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MCTP_FLOWS           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MCTP_SERIAL          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MEMCPY_KUNIT_TEST    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MMAPPER              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MPTCP_KUNIT_TEST     | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_MSDOS_FS             | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_NETDEV_ADDR_LIST_TEST   | 1 +
 .../custom-overrides/generic/um/CONFIG_NET_HANDSHAKE_KUNIT_TEST        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_NET_TEST             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_NO_IOMEM             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_NR_CPUS              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_NTP_PPS              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_NULL_CHAN            | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_OVERFLOW_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_PACKING_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_PORT_CHAN            | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_PRIME_NUMBERS        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_PROC_PAGE_MONITOR    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_PTY_CHAN             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_RATIONAL_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_REGMAP_BUILD         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_REGMAP_KUNIT         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_RESOURCE_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_RTC_LIB_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SCSI_LIB_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SCSI_PROTO_TEST      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR    | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR_DEBUG | 1 +
 .../custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR_EXPORT_BINARY | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR_HASH  | 1 +
 .../custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR_HASH_DEFAULT  | 1 +
 .../generic/um/CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY              | 1 +
 .../custom-overrides/generic/um/CONFIG_SECURITY_APPARMOR_PARANOID_LOAD | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SENSORS_LIS3_SPI     | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SERIAL_8250          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SERIAL_CORE          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SIPHASH_KUNIT_TEST   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SLUB_KUNIT_TEST      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND                  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_COMPRESS_OFFLOAD | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_CORE_TEST        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_SOC              | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SND_SOC_CARD_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_SOC_CS35L56_I2C  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_SOC_CS35L56_TEST | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SND_SOC_CS_AMP_LIB_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_SOC_HDA          | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SND_SOC_OPS_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SND_SOC_RT5640       | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_SND_SOC_TOPOLOGY_BUILD  | 1 +
 .../custom-overrides/generic/um/CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST     | 1 +
 .../custom-overrides/generic/um/CONFIG_SND_SOC_UTILS_KUNIT_TEST        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SOUND                | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SSL                  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SSL_CHAN             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_STACKINIT_KUNIT_TEST | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_STATIC_LINK          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_STDERR_CONSOLE       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_STRICT_DEVMEM        | 1 +
 .../custom-overrides/generic/um/CONFIG_STRING_HELPERS_KUNIT_TEST       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_STRING_KUNIT_TEST    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SYNTH_EVENTS         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_SYSCTL_KUNIT_TEST    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TEST_IOV_ITER        | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TEST_LIST_SORT       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TEST_SORT            | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TEST_UBSAN           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_THERMAL              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TICK_CPU_ACCOUNTING  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TIME_KUNIT_TEST      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_TTY_CHAN             | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN                | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_ALIGNMENT      | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_BOOL           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_BOUNDS         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_DIV_ZERO       | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_ENUM           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_SHIFT          | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_SIGNED_WRAP    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_TRAP           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UBSAN_UNREACHABLE    | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_NET              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_PCI_OVER_VIRTIO  | 1 +
 .../custom-overrides/generic/um/CONFIG_UML_PCI_OVER_VIRTIO_DEVICE_ID   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_RANDOM           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_RTC              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_SOUND            | 1 +
 .../configs/custom-overrides/generic/um/CONFIG_UML_TIME_TRAVEL_SUPPORT | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_UML_WATCHDOG         | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_USERCOPY_KUNIT_TEST  | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_VFAT_FS              | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_VIRTIO_UML           | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_VT                   | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_WERROR               | 1 +
 redhat/configs/custom-overrides/generic/um/CONFIG_XTERM_CHAN           | 1 +
 redhat/configs/priority.rhel                                           | 3 +++
 172 files changed, 173 insertions(+), 1 deletion(-)
---
base-commit: 0a88195dfe7ad750d8e0d9815e70515a03b270f1
change-id: 20261026-b4-prep-khorenko-vstor-143636-uml-config-c25bbead3214

Best regards,
--  
Konstantin Khorenko,
Virtuozzo Linux Kernel Team

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

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

end of thread, other threads:[~2026-10-26 22:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-26 18:05 [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests Konstantin Khorenko
2026-10-26 18:05 ` [Devel] [PATCH hci-8.1 1/4] configs: add a User Mode Linux config " Konstantin Khorenko
2026-10-26 18:05 ` [Devel] [PATCH hci-8.1 2/4] kasan: let a config leave the KUnit test out under KUNIT_ALL_TESTS Konstantin Khorenko
2026-10-26 18:05 ` [Devel] [PATCH hci-8.1 3/4] configs: build the User Mode Linux KUnit kernel with KASAN Konstantin Khorenko
2026-10-26 18:05 ` [Devel] [PATCH hci-8.1 4/4] configs: build the User Mode Linux KUnit kernel without debug info Konstantin Khorenko
2026-10-26 18:52 ` [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests Eva Kurchatova (Virtuozzo)
2026-10-26 21:52   ` Konstantin Khorenko
2026-10-26 22:27     ` Eva Kurchatova (Virtuozzo)
2026-10-26 22:42       ` Konstantin Khorenko
2026-10-26 21:16 ` Eva Kurchatova (Virtuozzo)
2026-10-26 21:51   ` Konstantin Khorenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox