messages. This can lead to a rare test failure due to unexpected
ordering like:
- --- expected
- +++ result
- @@ -1,7 +1,7 @@
- % modprobe test_klp_callbacks_busy block_transition=Y
- test_klp_callbacks_busy: test_klp_callbacks_busy_init
- -test_klp_callbacks_busy: busymod_work_func enter
- % modprobe test_klp_callbacks_demo
- +test_klp_callbacks_busy: busymod_work_func enter
- livepatch: enabling patch 'test_klp_callbacks_demo'
- livepatch: 'test_klp_callbacks_demo': initializing patching transition
- test_klp_callbacks_demo: pre_patch_callback: vmlinux
+# --- expected
+# +++ result
+# @@ -1,7 +1,7 @@
+# % modprobe test_klp_callbacks_busy block_transition=Y
+# test_klp_callbacks_busy: test_klp_callbacks_busy_init
+# -test_klp_callbacks_busy: busymod_work_func enter
+# % modprobe test_klp_callbacks_demo
+# +test_klp_callbacks_busy: busymod_work_func enter
+# livepatch: enabling patch 'test_klp_callbacks_demo'
+# livepatch: 'test_klp_callbacks_demo': initializing patching transition
+# test_klp_callbacks_demo: pre_patch_callback: vmlinux
Force the module init function to wait until busymod_work_func() has
started (and logged its message), before exiting to the next selftest
Link: https://lore.kernel.org/r/20220602203233.979681-1-joe.lawrence@redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
- lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
+ lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/lib/livepatch/test_klp_callbacks_busy.c b/lib/livepatch/test_klp_callbacks_busy.c
-index 7ac845f65be5..133929e0ce8f 100644
--- a/lib/livepatch/test_klp_callbacks_busy.c
+++ b/lib/livepatch/test_klp_callbacks_busy.c
-@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "block_transition (default=false)");
+@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "bloc
static void busymod_work_func(struct work_struct *work);
static DECLARE_WORK(work, busymod_work_func);
while (READ_ONCE(block_transition)) {
/*
-@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(void)
+@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(
pr_info("%s\n", __func__);
schedule_work(&work);
if (!block_transition) {
/*
* Serialize output: print all messages from the work
---
-2.35.1
-
messages. This can lead to a rare test failure due to unexpected
ordering like:
- --- expected
- +++ result
- @@ -1,7 +1,7 @@
- % modprobe test_klp_callbacks_busy block_transition=Y
- test_klp_callbacks_busy: test_klp_callbacks_busy_init
- -test_klp_callbacks_busy: busymod_work_func enter
- % modprobe test_klp_callbacks_demo
- +test_klp_callbacks_busy: busymod_work_func enter
- livepatch: enabling patch 'test_klp_callbacks_demo'
- livepatch: 'test_klp_callbacks_demo': initializing patching transition
- test_klp_callbacks_demo: pre_patch_callback: vmlinux
+# --- expected
+# +++ result
+# @@ -1,7 +1,7 @@
+# % modprobe test_klp_callbacks_busy block_transition=Y
+# test_klp_callbacks_busy: test_klp_callbacks_busy_init
+# -test_klp_callbacks_busy: busymod_work_func enter
+# % modprobe test_klp_callbacks_demo
+# +test_klp_callbacks_busy: busymod_work_func enter
+# livepatch: enabling patch 'test_klp_callbacks_demo'
+# livepatch: 'test_klp_callbacks_demo': initializing patching transition
+# test_klp_callbacks_demo: pre_patch_callback: vmlinux
Force the module init function to wait until busymod_work_func() has
started (and logged its message), before exiting to the next selftest
Link: https://lore.kernel.org/r/20220602203233.979681-1-joe.lawrence@redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
- lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
+ lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/lib/livepatch/test_klp_callbacks_busy.c b/lib/livepatch/test_klp_callbacks_busy.c
-index 7ac845f65be5..133929e0ce8f 100644
--- a/lib/livepatch/test_klp_callbacks_busy.c
+++ b/lib/livepatch/test_klp_callbacks_busy.c
-@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "block_transition (default=false)");
+@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "bloc
static void busymod_work_func(struct work_struct *work);
static DECLARE_WORK(work, busymod_work_func);
while (READ_ONCE(block_transition)) {
/*
-@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(void)
+@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(
pr_info("%s\n", __func__);
schedule_work(&work);
if (!block_transition) {
/*
* Serialize output: print all messages from the work
---
-2.35.1
-
messages. This can lead to a rare test failure due to unexpected
ordering like:
- --- expected
- +++ result
- @@ -1,7 +1,7 @@
- % modprobe test_klp_callbacks_busy block_transition=Y
- test_klp_callbacks_busy: test_klp_callbacks_busy_init
- -test_klp_callbacks_busy: busymod_work_func enter
- % modprobe test_klp_callbacks_demo
- +test_klp_callbacks_busy: busymod_work_func enter
- livepatch: enabling patch 'test_klp_callbacks_demo'
- livepatch: 'test_klp_callbacks_demo': initializing patching transition
- test_klp_callbacks_demo: pre_patch_callback: vmlinux
+# --- expected
+# +++ result
+# @@ -1,7 +1,7 @@
+# % modprobe test_klp_callbacks_busy block_transition=Y
+# test_klp_callbacks_busy: test_klp_callbacks_busy_init
+# -test_klp_callbacks_busy: busymod_work_func enter
+# % modprobe test_klp_callbacks_demo
+# +test_klp_callbacks_busy: busymod_work_func enter
+# livepatch: enabling patch 'test_klp_callbacks_demo'
+# livepatch: 'test_klp_callbacks_demo': initializing patching transition
+# test_klp_callbacks_demo: pre_patch_callback: vmlinux
Force the module init function to wait until busymod_work_func() has
started (and logged its message), before exiting to the next selftest
Link: https://lore.kernel.org/r/20220602203233.979681-1-joe.lawrence@redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
- lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
+ lib/livepatch/test_klp_callbacks_busy.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/lib/livepatch/test_klp_callbacks_busy.c b/lib/livepatch/test_klp_callbacks_busy.c
-index 7ac845f65be5..133929e0ce8f 100644
--- a/lib/livepatch/test_klp_callbacks_busy.c
+++ b/lib/livepatch/test_klp_callbacks_busy.c
-@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "block_transition (default=false)");
+@@ -16,10 +16,12 @@ MODULE_PARM_DESC(block_transition, "bloc
static void busymod_work_func(struct work_struct *work);
static DECLARE_WORK(work, busymod_work_func);
while (READ_ONCE(block_transition)) {
/*
-@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(void)
+@@ -37,6 +39,12 @@ static int test_klp_callbacks_busy_init(
pr_info("%s\n", __func__);
schedule_work(&work);
if (!block_transition) {
/*
* Serialize output: print all messages from the work
---
-2.35.1
-
messages. This can lead to a rare test failure due to unexpected
ordering like:
- --- expected
- +++ result
- @@ -1,7 +1,7 @@
- % modprobe test_klp_callbacks_busy block_transition=Y
- test_klp_callbacks_busy: test_klp_callbacks_busy_init
- -test_klp_callbacks_busy: busymod_work_func enter
- % modprobe test_klp_callbacks_demo
- +test_klp_callbacks_busy: busymod_work_func enter
- livepatch: enabling patch 'test_klp_callbacks_demo'
- livepatch: 'test_klp_callbacks_demo': initializing patching transition
- test_klp_callbacks_demo: pre_patch_callback: vmlinux
+# --- expected
+# +++ result
+# @@ -1,7 +1,7 @@
+# % modprobe test_klp_callbacks_busy block_transition=Y
+# test_klp_callbacks_busy: test_klp_callbacks_busy_init
+# -test_klp_callbacks_busy: busymod_work_func enter
+# % modprobe test_klp_callbacks_demo
+# +test_klp_callbacks_busy: busymod_work_func enter
+# livepatch: enabling patch 'test_klp_callbacks_demo'
+# livepatch: 'test_klp_callbacks_demo': initializing patching transition
+# test_klp_callbacks_demo: pre_patch_callback: vmlinux
Force the module init function to wait until busymod_work_func() has
started (and logged its message), before exiting to the next selftest