selftests: livepatch: add test cases of stack_order sysfs interface
Subsystems (2)
PATCH v3 1/1 selftests: livepatch: add test cases of stack_order sysfs interface
Add selftest test cases to sysfs attribute 'stack_order'.
--- .../testing/selftests/livepatch/test-sysfs.sh | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+)
tools/testing/selftests/livepatch/test-sysfs.sh +71 -0
@@ -5,6 +5,8 @@ . $(dirname $0)/functions.sh MOD_LIVEPATCH=test_klp_livepatch +MOD_LIVEPATCH2=test_klp_callbacks_demo +MOD_LIVEPATCH3=test_klp_syscall setup_config
@@ -19,6 +21,8 @@ check_sysfs_rights "$MOD_LIVEPATCH" "enabled" "-rw-r--r--" check_sysfs_value "$MOD_LIVEPATCH" "enabled" "1" check_sysfs_rights "$MOD_LIVEPATCH" "force" "--w-------" check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" +check_sysfs_rights "$MOD_LIVEPATCH" "stack_order" "-r--r--r--" +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" check_sysfs_rights "$MOD_LIVEPATCH" "transition" "-r--r--r--" check_sysfs_value "$MOD_LIVEPATCH" "transition" "0" check_sysfs_rights "$MOD_LIVEPATCH" "vmlinux/patched" "-r--r--r--"
@@ -131,4 +135,71 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" +start_test "sysfs test stack_order value" + +load_lp $MOD_LIVEPATCH + +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + +load_lp $MOD_LIVEPATCH2 + +check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" + +load_lp $MOD_LIVEPATCH3 + +check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" + +disable_lp $MOD_LIVEPATCH2 +unload_lp $MOD_LIVEPATCH2 + +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" +check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" + +disable_lp $MOD_LIVEPATCH3 +unload_lp $MOD_LIVEPATCH3 + +disable_lp $MOD_LIVEPATCH +unload_lp $MOD_LIVEPATCH + +check_result "% 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 +% insmod test_modules/$MOD_LIVEPATCH2.ko +livepatch: enabling patch '$MOD_LIVEPATCH2' +livepatch: '$MOD_LIVEPATCH2': initializing patching transition +$MOD_LIVEPATCH2: pre_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting patching transition +livepatch: '$MOD_LIVEPATCH2': completing patching transition +$MOD_LIVEPATCH2: post_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': patching complete +% insmod test_modules/$MOD_LIVEPATCH3.ko +livepatch: enabling patch '$MOD_LIVEPATCH3' +livepatch: '$MOD_LIVEPATCH3': initializing patching transition +livepatch: '$MOD_LIVEPATCH3': starting patching transition +livepatch: '$MOD_LIVEPATCH3': completing patching transition +livepatch: '$MOD_LIVEPATCH3': patching complete +% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled +livepatch: '$MOD_LIVEPATCH2': initializing unpatching transition +$MOD_LIVEPATCH2: pre_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting unpatching transition +livepatch: '$MOD_LIVEPATCH2': completing unpatching transition +$MOD_LIVEPATCH2: post_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': unpatching complete +% rmmod $MOD_LIVEPATCH2 +% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH3/enabled +livepatch: '$MOD_LIVEPATCH3': initializing unpatching transition +livepatch: '$MOD_LIVEPATCH3': starting unpatching transition +livepatch: '$MOD_LIVEPATCH3': completing unpatching transition +livepatch: '$MOD_LIVEPATCH3': unpatching complete +% rmmod $MOD_LIVEPATCH3 +% 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
Signature · 1 line
2.43.5
Quoted 105 lines · Wardenjohn
Add selftest test cases to sysfs attribute '
stack_order'.Suggested-by Petr Mladek <[email protected]>Signed-off-by Wardenjohn <[email protected]>---
.../testing/selftests/livepatch/test-sysfs.sh| 71 +++++++++++++++++++1 file changed, 71 insertions(+)tools/testing/selftests/livepatch/test-sysfs.sh +0
-0@@ -5,6 +5,8 @@. $(dirname $0)/functions.sh
MOD_LIVEPATCH=test_klp_livepatch
tools/testing/selftests/livepatch/test-sysfs.sh +2
-0+MOD_LIVEPATCH2=test_klp_callbacks_demo +MOD_LIVEPATCH3=test_klp_syscall
setup_configtools/testing/selftests/livepatch/test-sysfs.sh +0
-0@@ -19,6 +21,8 @@ check_sysfs_rights "$MOD_LIVEPATCH" "enabled" "-rw-r--r--"
check_sysfs_value"$MOD_LIVEPATCH" "enabled" "1"check_sysfs_rights"$MOD_LIVEPATCH" "force" "--w-------"check_sysfs_rights"$MOD_LIVEPATCH" "replace" "-r--r--r--"tools/testing/selftests/livepatch/test-sysfs.sh +2
-0+check_sysfs_rights "$MOD_LIVEPATCH" "stack_order" "-r--r--r--" +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1"
check_sysfs_rights"$MOD_LIVEPATCH" "transition" "-r--r--r--"check_sysfs_value"$MOD_LIVEPATCH" "transition" "0"check_sysfs_rights"$MOD_LIVEPATCH" "vmlinux/patched" "-r--r--r--"tools/testing/selftests/livepatch/test-sysfs.sh +0
-0@@ -131,4 +135,71 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching transitionlivepatch: '$MOD_LIVEPATCH': unpatching complete
% rmmod $MOD_LIVEPATCH"tools/testing/selftests/livepatch/test-sysfs.sh +67
-0+start_test "sysfs test stack_order value" + +load_lp $MOD_LIVEPATCH + +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + +load_lp $MOD_LIVEPATCH2 + +check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" + +load_lp $MOD_LIVEPATCH3 + +check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" + +disable_lp $MOD_LIVEPATCH2 +unload_lp $MOD_LIVEPATCH2 + +check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" +check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" + +disable_lp $MOD_LIVEPATCH3 +unload_lp $MOD_LIVEPATCH3 + +disable_lp $MOD_LIVEPATCH +unload_lp $MOD_LIVEPATCH + +check_result "% 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 +% insmod test_modules/$MOD_LIVEPATCH2.ko +livepatch: enabling patch '$MOD_LIVEPATCH2' +livepatch: '$MOD_LIVEPATCH2': initializing patching transition +$MOD_LIVEPATCH2: pre_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting patching transition +livepatch: '$MOD_LIVEPATCH2': completing patching transition +$MOD_LIVEPATCH2: post_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': patching complete +% insmod test_modules/$MOD_LIVEPATCH3.ko +livepatch: enabling patch '$MOD_LIVEPATCH3' +livepatch: '$MOD_LIVEPATCH3': initializing patching transition +livepatch: '$MOD_LIVEPATCH3': starting patching transition +livepatch: '$MOD_LIVEPATCH3': completing patching transition +livepatch: '$MOD_LIVEPATCH3': patching complete +% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled +livepatch: '$MOD_LIVEPATCH2': initializing unpatching transition +$MOD_LIVEPATCH2: pre_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting unpatching transition +livepatch: '$MOD_LIVEPATCH2': completing unpatching transition +$MOD_LIVEPATCH2: post_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': unpatching complete +% rmmod $MOD_LIVEPATCH2 +% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH3/enabled +livepatch: '$MOD_LIVEPATCH3': initializing unpatching transition +livepatch: '$MOD_LIVEPATCH3': starting unpatching transition +livepatch: '$MOD_LIVEPATCH3': completing unpatching transition +livepatch: '$MOD_LIVEPATCH3': unpatching complete +% rmmod $MOD_LIVEPATCH3 +% 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" +
Quoted 4 lines
exit 0
Signature · 1 line
2.43.5
Hi, Petr.
Here to remind you not to forget this attribute for linux-6.13.
Thanks.
Wardenjohn
Petr Mladek
maintainerQuoted 4 lines · zhang warden
Quoted 4 lines · Wardenjohn
Quoted 8 lines
Quoted 4 lines
Add selftest test cases to sysfs attribute '
stack_order'.Suggested-by Petr Mladek <[email protected]>Signed-off-by Wardenjohn <[email protected]>Hi, Petr.
Here to remind you not to forget this attribute for linux-6.13.
I am sorry but I have somehow missed this patch and it is too late for 6.13 now.
Anyway, the feature seems to be ready now. I am going to queue it for 6.14. I'll just wait few more days for potential feedback.
Best Regards,
Petr
Quoted 18 lines · Petr Mladek
Quoted 4 lines · zhang warden
Quoted 4 lines · Wardenjohn
Quoted 8 lines
Quoted 4 lines
Add selftest test cases to sysfs attribute '
stack_order'.Suggested-by Petr Mladek <[email protected]>Signed-off-by Wardenjohn <[email protected]>Hi, Petr.
Here to remind you not to forget this attribute for linux-6.13.
Quoted 8 lines
I am sorry but I have somehow missed this patch and it is too late for 6.13 now.
Anyway, the feature seems to be ready now. I am going to queue it for 6.14. I'll just wait few more days for potential feedback.
Best Regards,
Petr
OK. And please help me to fix the kernel version from 6.13 to 6.14 at Documentation/ABI/testing/sysfs-kernel-livepatch :)
Thanks.
Wardenjohn.
Quoted 4 lines · Wardenjohn
Add selftest test cases to sysfs attribute '
stack_order'.Suggested-by Petr Mladek <[email protected]>Signed-off-by Wardenjohn <[email protected]>
Looks good to me:
Best Regards,
Petr
Petr Mladek
maintainerQuoted 4 lines · Wardenjohn
Add selftest test cases to sysfs attribute '
stack_order'.Suggested-by Petr Mladek <[email protected]>Signed-off-by Wardenjohn <[email protected]>
JFYI, I have pushed this patch into livepatching.git, branch for-6.14/stack-order.
Note that I have substituted /sys/kernel/livepatch with $SYSFS_KLP_DIR. The SYSFS_KLP_DIR variable has been introduced in 6.13.
Best Regards,
Petr