[PATCH v2 0/2] selftests/livepatch: fix building and running outside the host kernel
From: Sasha Levin
Date: Tue Nov 03 2026 - 09:13:41 EST
The livepatch test modules are built against the running host kernel
even when the selftests are built for a kernel in an output directory,
and the scripts skip every test on a machine without a kernel build
tree, even when the modules were built and installed with the
selftests.
Patch 1 is unchanged from v1. It picks KDIR from O or KBUILD_OUTPUT,
stops passing O and KBUILD_OUTPUT on to the module build, and skips the
modules for kernels without CONFIG_LIVEPATCH.
Patch 2 is new. Sashiko pointed out on v1 that has_kdir() skips the
tests on installed targets. That check predates this series, but it is
the run time half of the same problem, so patch 2 checks for the test
modules instead.
Tested on v7.4-rc1 with an x86_64 kernel with CONFIG_LIVEPATCH built in
an output directory. The modules build against it with
make -C tools/testing/selftests O=... TARGETS=livepatch install
and the installed tree was run in a VM that has no build directory for
that kernel. Without patch 2 every test skips on the missing KDIR. With
it all 8 livepatch tests pass, and they skip cleanly when test_modules/
is missing.
Changes since v1:
- Add patch 2.
- Rebase on v7.4-rc1, no changes to patch 1.
v1: https://lore.kernel.org/all/20261014200154.1365200-1-sashal@xxxxxxxxxx/
Sasha Levin (2):
selftests/livepatch: build test modules against the selected kernel
selftests/livepatch: skip based on the test modules instead of KDIR
tools/testing/selftests/livepatch/Makefile | 27 +++++++++++++++++++
.../testing/selftests/livepatch/functions.sh | 17 +++++-------
.../selftests/livepatch/test_modules/Makefile | 6 +++--
3 files changed, 37 insertions(+), 13 deletions(-)
--
2.53.0