Re: livepatching selftests failure on current master branch

From: Joe Lawrence
Date: Fri May 17 2019 - 10:32:24 EST


On 5/17/19 10:17 AM, Miroslav Benes wrote:
Hi,

I noticed that livepatching selftests fail on our master branch
(https://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.git/).

...
TEST: busy target module ... not ok

--- expected
+++ result
@@ -7,16 +7,24 @@ livepatch: 'test_klp_callbacks_demo': in
test_klp_callbacks_demo: pre_patch_callback: vmlinux
test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state
livepatch: 'test_klp_callbacks_demo': starting patching transition
+livepatch: 'test_klp_callbacks_demo': completing patching transition
+test_klp_callbacks_demo: post_patch_callback: vmlinux
+test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state
+livepatch: 'test_klp_callbacks_demo': patching complete
% modprobe test_klp_callbacks_mod
livepatch: applying patch 'test_klp_callbacks_demo' to loading module
'test_klp_callbacks_mod'
test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init
+test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init
test_klp_callbacks_mod: test_klp_callbacks_mod_init
% rmmod test_klp_callbacks_mod
test_klp_callbacks_mod: test_klp_callbacks_mod_exit
+test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away
livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module
'test_klp_callbacks_mod'
test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away
% echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled
-livepatch: 'test_klp_callbacks_demo': reversing transition from patching to unpatching
+livepatch: 'test_klp_callbacks_demo': initializing unpatching transition
+test_klp_callbacks_demo: pre_unpatch_callback: vmlinux
+test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state
livepatch: 'test_klp_callbacks_demo': starting unpatching transition
livepatch: 'test_klp_callbacks_demo': completing unpatching transition
test_klp_callbacks_demo: post_unpatch_callback: vmlinux

ERROR: livepatch kselftest(s) failed
not ok 1..2 selftests: livepatch: test-callbacks.sh [FAIL]

which probably means that the consistency model is not in the best shape.
There were not many livepatch changes in the latest pull request. Stack
unwinder changes may be connected, so adding Thomas to be aware if it
leads in this direction.

Unfortunately, I'm leaving in a minute and will be gone till Wednesday, so
if someone confirms and wants to investigate, definitely feel free to do
it.


I will take a look today. Thanks for reporting. I hope it's something silly in the tests not the consistency model ...

-- Joe