mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 18:21:24 +02:00
selftests: livepatch: Check if stack_order sysfs attribute exists
The commit 3dae09de40 ("livepatch: Add stack_order sysfs attribute"),
merged in v6.14, introduced a new sysfs attribute.
In order to run the selftests on older kernels, check if given kernel
has support for the attribute. If the attribute is not supported, skip
the checks.
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
Link: https://patch.msgid.link/20260504-lp-tests-old-fixes-v5-6-0be26d94ab9a@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
parent
1f4cbeec25
commit
8f7168335c
|
|
@ -10,6 +10,7 @@ MOD_LIVEPATCH3=test_klp_syscall
|
|||
|
||||
HAS_PATCH_ATTR=0
|
||||
HAS_REPLACE_ATTR=0
|
||||
HAS_STACK_ORDER_ATTR=0
|
||||
|
||||
setup_config
|
||||
|
||||
|
|
@ -23,8 +24,6 @@ check_sysfs_rights "$MOD_LIVEPATCH" "" "drwxr-xr-x"
|
|||
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" "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"
|
||||
|
||||
|
|
@ -39,6 +38,12 @@ if does_sysfs_exist "$MOD_LIVEPATCH" "replace"; then
|
|||
HAS_REPLACE_ATTR=1
|
||||
fi
|
||||
|
||||
if does_sysfs_exist "$MOD_LIVEPATCH" "stack_order"; then
|
||||
check_sysfs_rights "$MOD_LIVEPATCH" "stack_order" "-r--r--r--"
|
||||
check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1"
|
||||
HAS_STACK_ORDER_ATTR=1
|
||||
fi
|
||||
|
||||
disable_lp $MOD_LIVEPATCH
|
||||
|
||||
unload_lp $MOD_LIVEPATCH
|
||||
|
|
@ -149,33 +154,34 @@ livepatch: '$MOD_ATOMIC_REPLACE': unpatching complete
|
|||
% rmmod $MOD_ATOMIC_REPLACE"
|
||||
fi
|
||||
|
||||
start_test "sysfs test stack_order value"
|
||||
if [[ "$HAS_STACK_ORDER_ATTR" == "1" ]]; then
|
||||
start_test "sysfs test stack_order value"
|
||||
|
||||
load_lp $MOD_LIVEPATCH
|
||||
load_lp $MOD_LIVEPATCH
|
||||
|
||||
check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1"
|
||||
check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1"
|
||||
|
||||
load_lp $MOD_LIVEPATCH2
|
||||
load_lp $MOD_LIVEPATCH2
|
||||
|
||||
check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2"
|
||||
check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2"
|
||||
|
||||
load_lp $MOD_LIVEPATCH3
|
||||
load_lp $MOD_LIVEPATCH3
|
||||
|
||||
check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3"
|
||||
check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3"
|
||||
|
||||
disable_lp $MOD_LIVEPATCH2
|
||||
unload_lp $MOD_LIVEPATCH2
|
||||
disable_lp $MOD_LIVEPATCH2
|
||||
unload_lp $MOD_LIVEPATCH2
|
||||
|
||||
check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1"
|
||||
check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2"
|
||||
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_LIVEPATCH3
|
||||
unload_lp $MOD_LIVEPATCH3
|
||||
|
||||
disable_lp $MOD_LIVEPATCH
|
||||
unload_lp $MOD_LIVEPATCH
|
||||
disable_lp $MOD_LIVEPATCH
|
||||
unload_lp $MOD_LIVEPATCH
|
||||
|
||||
check_result "% insmod test_modules/$MOD_LIVEPATCH.ko
|
||||
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
|
||||
|
|
@ -215,5 +221,6 @@ livepatch: '$MOD_LIVEPATCH': starting unpatching transition
|
|||
livepatch: '$MOD_LIVEPATCH': completing unpatching transition
|
||||
livepatch: '$MOD_LIVEPATCH': unpatching complete
|
||||
% rmmod $MOD_LIVEPATCH"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user