live-patching.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
@ 2024-10-24  8:35 Wardenjohn
  2024-11-21  1:36 ` zhang warden
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Wardenjohn @ 2024-10-24  8:35 UTC (permalink / raw)
  To: jpoimboe, mbenes, jikos, pmladek, joe.lawrence
  Cc: live-patching, linux-kernel, Wardenjohn

Add selftest test cases to sysfs attribute 'stack_order'.

Suggested-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Wardenjohn <zhangwarden@gmail.com>
---
 .../testing/selftests/livepatch/test-sysfs.sh | 71 +++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testing/selftests/livepatch/test-sysfs.sh
index 05a14f5a7bfb..e44a051be307 100755
--- a/tools/testing/selftests/livepatch/test-sysfs.sh
+++ b/tools/testing/selftests/livepatch/test-sysfs.sh
@@ -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
-- 
2.43.5


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
  2024-10-24  8:35 [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface Wardenjohn
@ 2024-11-21  1:36 ` zhang warden
  2024-12-02 11:24   ` Petr Mladek
  2024-12-02 11:19 ` Petr Mladek
  2024-12-09 12:32 ` Petr Mladek
  2 siblings, 1 reply; 6+ messages in thread
From: zhang warden @ 2024-11-21  1:36 UTC (permalink / raw)
  To: Josh Poimboeuf, Miroslav Benes, Jiri Kosina, Petr Mladek,
	Joe Lawrence
  Cc: live-patching, linux-kernel



> On Oct 24, 2024, at 16:35, Wardenjohn <zhangwarden@gmail.com> wrote:
> 
> Add selftest test cases to sysfs attribute 'stack_order'.
> 
> Suggested-by: Petr Mladek <pmladek@suse.com>
> Signed-off-by: Wardenjohn <zhangwarden@gmail.com>
> ---
> .../testing/selftests/livepatch/test-sysfs.sh | 71 +++++++++++++++++++
> 1 file changed, 71 insertions(+)
> 
> diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testing/selftests/livepatch/test-sysfs.sh
> index 05a14f5a7bfb..e44a051be307 100755
> --- a/tools/testing/selftests/livepatch/test-sysfs.sh
> +++ b/tools/testing/selftests/livepatch/test-sysfs.sh
> @@ -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
> -- 
> 2.43.5
> 

Hi, Petr.

Here to remind you not to forget this attribute for linux-6.13.

Thanks.
Wardenjohn

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
  2024-10-24  8:35 [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface Wardenjohn
  2024-11-21  1:36 ` zhang warden
@ 2024-12-02 11:19 ` Petr Mladek
  2024-12-09 12:32 ` Petr Mladek
  2 siblings, 0 replies; 6+ messages in thread
From: Petr Mladek @ 2024-12-02 11:19 UTC (permalink / raw)
  To: Wardenjohn
  Cc: jpoimboe, mbenes, jikos, joe.lawrence, live-patching,
	linux-kernel

On Thu 2024-10-24 16:35:30, Wardenjohn wrote:
> Add selftest test cases to sysfs attribute 'stack_order'.
> 
> Suggested-by: Petr Mladek <pmladek@suse.com>
> Signed-off-by: Wardenjohn <zhangwarden@gmail.com>

Looks good to me:

Reviewed-by: Petr Mladek <pmladek@suse.com>
Tested-by: Petr Mladek <pmladek@suse.com>

Best Regards,
Petr

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
  2024-11-21  1:36 ` zhang warden
@ 2024-12-02 11:24   ` Petr Mladek
  2024-12-02 11:29     ` zhang warden
  0 siblings, 1 reply; 6+ messages in thread
From: Petr Mladek @ 2024-12-02 11:24 UTC (permalink / raw)
  To: zhang warden
  Cc: Josh Poimboeuf, Miroslav Benes, Jiri Kosina, Joe Lawrence,
	live-patching, linux-kernel

On Thu 2024-11-21 09:36:25, zhang warden wrote:
> 
> 
> > On Oct 24, 2024, at 16:35, Wardenjohn <zhangwarden@gmail.com> wrote:
> > 
> > Add selftest test cases to sysfs attribute 'stack_order'.
> > 
> > Suggested-by: Petr Mladek <pmladek@suse.com>
> > Signed-off-by: Wardenjohn <zhangwarden@gmail.com>
> 
> 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
  2024-12-02 11:24   ` Petr Mladek
@ 2024-12-02 11:29     ` zhang warden
  0 siblings, 0 replies; 6+ messages in thread
From: zhang warden @ 2024-12-02 11:29 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Josh Poimboeuf, Miroslav Benes, Jiri Kosina, Joe Lawrence,
	live-patching, linux-kernel



> On Dec 2, 2024, at 19:24, Petr Mladek <pmladek@suse.com> wrote:
> 
> On Thu 2024-11-21 09:36:25, zhang warden wrote:
>> 
>> 
>>> On Oct 24, 2024, at 16:35, Wardenjohn <zhangwarden@gmail.com> wrote:
>>> 
>>> Add selftest test cases to sysfs attribute 'stack_order'.
>>> 
>>> Suggested-by: Petr Mladek <pmladek@suse.com>
>>> Signed-off-by: Wardenjohn <zhangwarden@gmail.com>
>> 
>> 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


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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface
  2024-10-24  8:35 [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface Wardenjohn
  2024-11-21  1:36 ` zhang warden
  2024-12-02 11:19 ` Petr Mladek
@ 2024-12-09 12:32 ` Petr Mladek
  2 siblings, 0 replies; 6+ messages in thread
From: Petr Mladek @ 2024-12-09 12:32 UTC (permalink / raw)
  To: Wardenjohn
  Cc: jpoimboe, mbenes, jikos, joe.lawrence, live-patching,
	linux-kernel

On Thu 2024-10-24 16:35:30, Wardenjohn wrote:
> Add selftest test cases to sysfs attribute 'stack_order'.
> 
> Suggested-by: Petr Mladek <pmladek@suse.com>
> Signed-off-by: Wardenjohn <zhangwarden@gmail.com>

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-12-09 12:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24  8:35 [PATCH V3] selftests: livepatch: add test cases of stack_order sysfs interface Wardenjohn
2024-11-21  1:36 ` zhang warden
2024-12-02 11:24   ` Petr Mladek
2024-12-02 11:29     ` zhang warden
2024-12-02 11:19 ` Petr Mladek
2024-12-09 12:32 ` Petr Mladek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).