Skip to content

Commit 40f9caa

Browse files
laoarpmladek
authored andcommitted
selftests/livepatch: Add selftests for "replace" sysfs attribute
Add selftests for both atomic replace and non atomic replace livepatches. The result is as follows, TEST: sysfs test ... ok TEST: sysfs test object/patched ... ok TEST: sysfs test replace enabled ... ok TEST: sysfs test replace disabled ... ok Suggested-by: Marcos Paulo de Souza <[email protected]> Signed-off-by: Yafang Shao <[email protected]> Tested-by: Marcos Paulo de Souza <[email protected]> Reviewed-by: Marcos Paulo de Souza <[email protected]> Reviewed-by: Petr Mladek <[email protected]> Acked-by: Miroslav Benes <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Petr Mladek <[email protected]>
1 parent adb68ed commit 40f9caa

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

tools/testing/selftests/livepatch/test-sysfs.sh

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ check_sysfs_rights "$MOD_LIVEPATCH" "" "drwxr-xr-x"
1818
check_sysfs_rights "$MOD_LIVEPATCH" "enabled" "-rw-r--r--"
1919
check_sysfs_value "$MOD_LIVEPATCH" "enabled" "1"
2020
check_sysfs_rights "$MOD_LIVEPATCH" "force" "--w-------"
21+
check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--"
2122
check_sysfs_rights "$MOD_LIVEPATCH" "transition" "-r--r--r--"
2223
check_sysfs_value "$MOD_LIVEPATCH" "transition" "0"
2324
check_sysfs_rights "$MOD_LIVEPATCH" "vmlinux/patched" "-r--r--r--"
@@ -83,4 +84,51 @@ test_klp_callbacks_demo: post_unpatch_callback: vmlinux
8384
livepatch: 'test_klp_callbacks_demo': unpatching complete
8485
% rmmod test_klp_callbacks_demo"
8586

87+
start_test "sysfs test replace enabled"
88+
89+
MOD_LIVEPATCH=test_klp_atomic_replace
90+
load_lp $MOD_LIVEPATCH replace=1
91+
92+
check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--"
93+
check_sysfs_value "$MOD_LIVEPATCH" "replace" "1"
94+
95+
disable_lp $MOD_LIVEPATCH
96+
unload_lp $MOD_LIVEPATCH
97+
98+
check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=1
99+
livepatch: enabling patch '$MOD_LIVEPATCH'
100+
livepatch: '$MOD_LIVEPATCH': initializing patching transition
101+
livepatch: '$MOD_LIVEPATCH': starting patching transition
102+
livepatch: '$MOD_LIVEPATCH': completing patching transition
103+
livepatch: '$MOD_LIVEPATCH': patching complete
104+
% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled
105+
livepatch: '$MOD_LIVEPATCH': initializing unpatching transition
106+
livepatch: '$MOD_LIVEPATCH': starting unpatching transition
107+
livepatch: '$MOD_LIVEPATCH': completing unpatching transition
108+
livepatch: '$MOD_LIVEPATCH': unpatching complete
109+
% rmmod $MOD_LIVEPATCH"
110+
111+
start_test "sysfs test replace disabled"
112+
113+
load_lp $MOD_LIVEPATCH replace=0
114+
115+
check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--"
116+
check_sysfs_value "$MOD_LIVEPATCH" "replace" "0"
117+
118+
disable_lp $MOD_LIVEPATCH
119+
unload_lp $MOD_LIVEPATCH
120+
121+
check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=0
122+
livepatch: enabling patch '$MOD_LIVEPATCH'
123+
livepatch: '$MOD_LIVEPATCH': initializing patching transition
124+
livepatch: '$MOD_LIVEPATCH': starting patching transition
125+
livepatch: '$MOD_LIVEPATCH': completing patching transition
126+
livepatch: '$MOD_LIVEPATCH': patching complete
127+
% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled
128+
livepatch: '$MOD_LIVEPATCH': initializing unpatching transition
129+
livepatch: '$MOD_LIVEPATCH': starting unpatching transition
130+
livepatch: '$MOD_LIVEPATCH': completing unpatching transition
131+
livepatch: '$MOD_LIVEPATCH': unpatching complete
132+
% rmmod $MOD_LIVEPATCH"
133+
86134
exit 0

0 commit comments

Comments
 (0)