From: "Eva Kurchatova (Virtuozzo)" <eva.kurchatova@virtuozzo.com>
To: Konstantin Khorenko <khorenko@virtuozzo.com>
Cc: devel@openvz.org
Subject: Re: [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests
Date: Mon, 26 Oct 2026 20:52:12 +0200 [thread overview]
Message-ID: <31a643f4-9afd-48b4-a9ee-e98d1a6b9a03@virtuozzo.com> (raw)
In-Reply-To: <20261026-b4-prep-khorenko-vstor-143636-uml-config-v1-0-b7e76e985a6b@virtuozzo.com>
On 10/26/26 20:05, Konstantin Khorenko wrote:
> 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>
The config is faithful. I built kernel-um-rhel.config, and compared it
with what kunit-uml-config.sh makes from the shipped x86_64 config: the
same 77 KUnit tests built in, the same vz options, the same sanity
checks. The only differences are the debug info (4/4) and the KASAN
self-test (2/4, 3/4). Built with ARCH=um and booted with
kasan_multi_shot: 182 pass, 0 fail, no kernel report.
Two points that I still believe are unresolved:
1. Please drop 2/4 and keep the KASAN self-test. hci-kunit does not fail
on its reports: since "hci-kunit: leave the reports of a suite that
provokes them out of the check" (PR #9241) reports inside the kasan
suite are expected, and the run is 183 pass, 0 fail with it. The test is
also the only proof that KASAN catches anything in this kernel. Without
it, a KASAN that silently stopped working would look like a clean run.
And 2/4 would be a vz-only change to lib/Kconfig.kasan that mainline
does not need.
2. The static list of builtin tests will drift. 69 of the override files
only turn a generic =m test into =y. A KUnit test that a RHEL import
adds lands in common/generic as =m and stays a module here, which the
UML kernel never loads, so it silently does not run. process_configs.sh
does not catch it, =m is a valid value. The script built every KUnit
test in by itself.
A check in kernel.spec after olddefconfig would cover it: fail when a
symbol defaulting to KUNIT_ALL_TESTS is =m, except the tests whose
subsystem is a module (cfg80211, mac80211, iwlwifi, xe, vkms, hid,
rpcsec_gss_krb5, prp).
Optional: CONFIG_SLUB_RCU_DEBUG=y. It is a KASAN feature that catches
use after free of RCU-freed slab objects, off here because the generic
layer sets it off for kernels without KASAN. My config lacked it too,
though.
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
next prev parent reply other threads:[~2026-10-26 18:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
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
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 ` Eva Kurchatova (Virtuozzo) [this message]
2026-10-26 21:52 ` [Devel] [PATCH hci-8.1 0/4] configs: a User Mode Linux kernel for the KUnit tests 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=31a643f4-9afd-48b4-a9ee-e98d1a6b9a03@virtuozzo.com \
--to=eva.kurchatova@virtuozzo.com \
--cc=devel@openvz.org \
--cc=khorenko@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.