Message ID | 20191016113316.13415-3-mbenes@suse.cz (mailing list archive) |
---|---|
State | Mainlined |
Commit | 35c9e74cff4c798d0a07830d0d483e6ebe70352f |
Headers | show |
Series | ftrace: Introduce PERMANENT ftrace_ops flag | expand |
On Wed 2019-10-16 13:33:14, Miroslav Benes wrote: > From: Joe Lawrence <joe.lawrence@redhat.com> > > Livepatch selftests currently save the current dynamic debug config and > tweak it for the selftests. The config is restored at the end. Make the > infrastructure generic, so that more variables can be saved and > restored. > > Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> > Signed-off-by: Miroslav Benes <mbenes@suse.cz> Reviewed-by: Petr Mladek <pmladek@suse.com> Best Regards, Petr
On 10/16/19 5:03 PM, Miroslav Benes wrote: > From: Joe Lawrence <joe.lawrence@redhat.com> > > Livepatch selftests currently save the current dynamic debug config and > tweak it for the selftests. The config is restored at the end. Make the > infrastructure generic, so that more variables can be saved and > restored. > > Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> > Signed-off-by: Miroslav Benes <mbenes@suse.cz> > --- > .../testing/selftests/livepatch/functions.sh | 22 +++++++++++-------- > .../selftests/livepatch/test-callbacks.sh | 2 +- > .../selftests/livepatch/test-livepatch.sh | 2 +- > .../selftests/livepatch/test-shadow-vars.sh | 2 +- A minor nit pick, should the README also updated with the setup_config()?
On 10/16/19 1:10 PM, Kamalesh Babulal wrote: > On 10/16/19 5:03 PM, Miroslav Benes wrote: >> From: Joe Lawrence <joe.lawrence@redhat.com> >> >> Livepatch selftests currently save the current dynamic debug config and >> tweak it for the selftests. The config is restored at the end. Make the >> infrastructure generic, so that more variables can be saved and >> restored. >> >> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> >> Signed-off-by: Miroslav Benes <mbenes@suse.cz> >> --- >> .../testing/selftests/livepatch/functions.sh | 22 +++++++++++-------- >> .../selftests/livepatch/test-callbacks.sh | 2 +- >> .../selftests/livepatch/test-livepatch.sh | 2 +- >> .../selftests/livepatch/test-shadow-vars.sh | 2 +- > > A minor nit pick, should the README also updated with the setup_config()? > Yup, good eye. I think it should be a simple matter of s/set_dynamic_debug/setup_config/g -- Joe
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh index 79b0affd21fb..b7e5a67ae434 100644 --- a/tools/testing/selftests/livepatch/functions.sh +++ b/tools/testing/selftests/livepatch/functions.sh @@ -29,29 +29,33 @@ function die() { exit 1 } -function push_dynamic_debug() { - DYNAMIC_DEBUG=$(grep '^kernel/livepatch' /sys/kernel/debug/dynamic_debug/control | \ - awk -F'[: ]' '{print "file " $1 " line " $2 " " $4}') +function push_config() { + DYNAMIC_DEBUG=$(grep '^kernel/livepatch' /sys/kernel/debug/dynamic_debug/control | \ + awk -F'[: ]' '{print "file " $1 " line " $2 " " $4}') } -function pop_dynamic_debug() { +function pop_config() { if [[ -n "$DYNAMIC_DEBUG" ]]; then echo -n "$DYNAMIC_DEBUG" > /sys/kernel/debug/dynamic_debug/control fi } -# set_dynamic_debug() - save the current dynamic debug config and tweak -# it for the self-tests. Set a script exit trap -# that restores the original config. function set_dynamic_debug() { - push_dynamic_debug - trap pop_dynamic_debug EXIT INT TERM HUP cat <<-EOF > /sys/kernel/debug/dynamic_debug/control file kernel/livepatch/* +p func klp_try_switch_task -p EOF } +# setup_config - save the current config and set a script exit trap that +# restores the original config. Setup the dynamic debug +# for verbose livepatching output. +function setup_config() { + push_config + set_dynamic_debug + trap pop_config EXIT INT TERM HUP +} + # loop_until(cmd) - loop a command until it is successful or $MAX_RETRIES, # sleep $RETRY_INTERVAL between attempts # cmd - command and its arguments to run diff --git a/tools/testing/selftests/livepatch/test-callbacks.sh b/tools/testing/selftests/livepatch/test-callbacks.sh index e97a9dcb73c7..a35289b13c9c 100755 --- a/tools/testing/selftests/livepatch/test-callbacks.sh +++ b/tools/testing/selftests/livepatch/test-callbacks.sh @@ -9,7 +9,7 @@ MOD_LIVEPATCH2=test_klp_callbacks_demo2 MOD_TARGET=test_klp_callbacks_mod MOD_TARGET_BUSY=test_klp_callbacks_busy -set_dynamic_debug +setup_config # TEST: target module before livepatch diff --git a/tools/testing/selftests/livepatch/test-livepatch.sh b/tools/testing/selftests/livepatch/test-livepatch.sh index f05268aea859..493e3df415a1 100755 --- a/tools/testing/selftests/livepatch/test-livepatch.sh +++ b/tools/testing/selftests/livepatch/test-livepatch.sh @@ -7,7 +7,7 @@ MOD_LIVEPATCH=test_klp_livepatch MOD_REPLACE=test_klp_atomic_replace -set_dynamic_debug +setup_config # TEST: basic function patching diff --git a/tools/testing/selftests/livepatch/test-shadow-vars.sh b/tools/testing/selftests/livepatch/test-shadow-vars.sh index 04a37831e204..1aae73299114 100755 --- a/tools/testing/selftests/livepatch/test-shadow-vars.sh +++ b/tools/testing/selftests/livepatch/test-shadow-vars.sh @@ -6,7 +6,7 @@ MOD_TEST=test_klp_shadow_vars -set_dynamic_debug +setup_config # TEST: basic shadow variable API