From: Konstantin Khorenko <khorenko@virtuozzo.com>
To: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
Cc: devel@openvz.org
Subject: [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests
Date: Mon, 26 Oct 2026 19:05:42 +0100 [thread overview]
Message-ID: <20261026-b4-prep-khorenko-vstor-143636-uml-config-v1-0-b7e76e985a6b@virtuozzo.com> (raw)
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
next reply other threads:[~2026-10-26 18:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-26 18:05 Konstantin Khorenko [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261026-b4-prep-khorenko-vstor-143636-uml-config-v1-0-b7e76e985a6b@virtuozzo.com \
--to=khorenko@virtuozzo.com \
--cc=devel@openvz.org \
--cc=eva.kurchatova@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.