From: Sasha Levin <sashal@kernel.org>
To: Josh Poimboeuf <jpoimboe@kernel.org>,
Miroslav Benes <mbenes@suse.cz>, Petr Mladek <pmladek@suse.com>,
Joe Lawrence <joe.lawrence@redhat.com>
Cc: Song Liu <song@kernel.org>,
Marcos Paulo de Souza <mpdesouza@suse.com>,
Eva Kurchatova <eva.kurchatova@virtuozzo.com>,
Yafang Shao <laoar.shao@gmail.com>, Shuah Khan <shuah@kernel.org>,
live-patching@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v3 2/2] selftests/livepatch: skip based on the test modules instead of KDIR
Date: Tue, 3 Nov 2026 17:27:06 -0500 [thread overview]
Message-ID: <20261103222706.1642224-3-sashal@kernel.org> (raw)
In-Reply-To: <20261103222706.1642224-1-sashal@kernel.org>
setup_config() skips every test when there is no kernel build directory
at $KDIR or /lib/modules/$(uname -r)/build. The test modules are built
together with the selftests and the scripts load them from
test_modules/, so nothing needs a build directory at run time. A
machine running an installed kselftest tree usually has none, and the
tests are skipped there although the modules were built and installed.
Check for the modules that __load_mod() loads instead, and remove
has_kdir(), which has no other users.
Fixes: 54ee3526796f ("selftests: livepatch: Avoid running the tests if kernel-devel is missing")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/testing/selftests/livepatch/functions.sh | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh
index 8b26b70f92d8c..14fc9cade4de3 100644
--- a/tools/testing/selftests/livepatch/functions.sh
+++ b/tools/testing/selftests/livepatch/functions.sh
@@ -44,16 +44,10 @@ function is_root() {
fi
}
-# Check if we can compile the modules before loading them
-function has_kdir() {
- if [ -z "$KDIR" ]; then
- KDIR="/lib/modules/$(uname -r)/build"
- fi
-
- if [ ! -d "$KDIR" ]; then
- echo "skip all tests: KDIR ($KDIR) not available to compile modules."
- exit $ksft_skip
- fi
+# Check that the test modules were built before loading them
+function has_test_modules() {
+ compgen -G "test_modules/*.ko" > /dev/null ||
+ skip "test modules are not available"
}
# die(msg) - game over, man
@@ -151,7 +145,7 @@ function cleanup() {
function setup_config() {
is_root
[[ -d "$SYSFS_KLP_DIR" ]] || skip "livepatch is not available"
- has_kdir
+ has_test_modules
push_config
set_dynamic_debug
set_ftrace_enabled 1
--
2.53.0
prev parent reply other threads:[~2026-11-03 22:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 22:27 [PATCH v3 0/2] selftests/livepatch: fix building and running outside the host kernel Sasha Levin
2026-11-03 22:27 ` [PATCH v3 1/2] selftests/livepatch: build test modules against the selected kernel Sasha Levin
2026-11-03 22:43 ` sashiko-bot
2026-11-03 22:27 ` Sasha Levin [this message]
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=20261103222706.1642224-3-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=eva.kurchatova@virtuozzo.com \
--cc=joe.lawrence@redhat.com \
--cc=jpoimboe@kernel.org \
--cc=laoar.shao@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=mbenes@suse.cz \
--cc=mpdesouza@suse.com \
--cc=pmladek@suse.com \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
/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.