forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'livepatching-for-6.13' of git://git.kernel.org/pub/scm/lin…
…ux/kernel/git/livepatching/livepatching Pull livepatching update from Petr Mladek: - A new selftest for livepatching of a kprobed function * tag 'livepatching-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching: selftests: livepatch: test livepatching a kprobed function selftests: livepatch: save and restore kprobe state selftests: livepatch: rename KLP_SYSFS_DIR to SYSFS_KLP_DIR
- Loading branch information
Showing
11 changed files
with
152 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/bin/bash | ||
# SPDX-License-Identifier: GPL-2.0 | ||
# Copyright (C) 2024 SUSE | ||
# Author: Michael Vetter <[email protected]> | ||
|
||
. $(dirname $0)/functions.sh | ||
|
||
MOD_LIVEPATCH=test_klp_livepatch | ||
MOD_KPROBE=test_klp_kprobe | ||
|
||
setup_config | ||
|
||
# Kprobe a function and verify that we can't livepatch that same function | ||
# when it uses a post_handler since only one IPMODIFY maybe be registered | ||
# to any given function at a time. | ||
|
||
start_test "livepatch interaction with kprobed function with post_handler" | ||
|
||
echo 1 > "$SYSFS_KPROBES_DIR/enabled" | ||
|
||
load_mod $MOD_KPROBE has_post_handler=true | ||
load_failing_mod $MOD_LIVEPATCH | ||
unload_mod $MOD_KPROBE | ||
|
||
check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=true | ||
% insmod test_modules/$MOD_LIVEPATCH.ko | ||
livepatch: enabling patch '$MOD_LIVEPATCH' | ||
livepatch: '$MOD_LIVEPATCH': initializing patching transition | ||
livepatch: failed to register ftrace handler for function 'cmdline_proc_show' (-16) | ||
livepatch: failed to patch object 'vmlinux' | ||
livepatch: failed to enable patch '$MOD_LIVEPATCH' | ||
livepatch: '$MOD_LIVEPATCH': canceling patching transition, going to unpatch | ||
livepatch: '$MOD_LIVEPATCH': completing unpatching transition | ||
livepatch: '$MOD_LIVEPATCH': unpatching complete | ||
insmod: ERROR: could not insert module test_modules/$MOD_LIVEPATCH.ko: Device or resource busy | ||
% rmmod test_klp_kprobe" | ||
|
||
start_test "livepatch interaction with kprobed function without post_handler" | ||
|
||
load_mod $MOD_KPROBE has_post_handler=false | ||
load_lp $MOD_LIVEPATCH | ||
|
||
unload_mod $MOD_KPROBE | ||
disable_lp $MOD_LIVEPATCH | ||
unload_lp $MOD_LIVEPATCH | ||
|
||
check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=false | ||
% insmod test_modules/$MOD_LIVEPATCH.ko | ||
livepatch: enabling patch '$MOD_LIVEPATCH' | ||
livepatch: '$MOD_LIVEPATCH': initializing patching transition | ||
livepatch: '$MOD_LIVEPATCH': starting patching transition | ||
livepatch: '$MOD_LIVEPATCH': completing patching transition | ||
livepatch: '$MOD_LIVEPATCH': patching complete | ||
% rmmod test_klp_kprobe | ||
% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled | ||
livepatch: '$MOD_LIVEPATCH': initializing unpatching transition | ||
livepatch: '$MOD_LIVEPATCH': starting unpatching transition | ||
livepatch: '$MOD_LIVEPATCH': completing unpatching transition | ||
livepatch: '$MOD_LIVEPATCH': unpatching complete | ||
% rmmod $MOD_LIVEPATCH" | ||
|
||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.