Message ID | 20250119163238.749847-1-maddy@linux.ibm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] selftests: livepatch: handle PRINTK_CALLER in check_result() | expand |
On Sun, 19 Jan 2025, Madhavan Srinivasan wrote: > Some arch configs (like ppc64) enable CONFIG_PRINTK_CALLER, > which adds the caller id as part of the dmesg. With recent > util-linux's update 467a5b3192f16 ('dmesg: add caller_id support') > the standard "dmesg" has been enhanced to print PRINTK_CALLER fields. > > Due to this, even though the expected vs observed are same, > end testcase results are failed. > > -% insmod test_modules/test_klp_livepatch.ko > -livepatch: enabling patch 'test_klp_livepatch' > -livepatch: 'test_klp_livepatch': initializing patching transition > -livepatch: 'test_klp_livepatch': starting patching transition > -livepatch: 'test_klp_livepatch': completing patching transition > -livepatch: 'test_klp_livepatch': patching complete > -% echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled > -livepatch: 'test_klp_livepatch': initializing unpatching transition > -livepatch: 'test_klp_livepatch': starting unpatching transition > -livepatch: 'test_klp_livepatch': completing unpatching transition > -livepatch: 'test_klp_livepatch': unpatching complete > -% rmmod test_klp_livepatch > +[ T3659] % insmod test_modules/test_klp_livepatch.ko > +[ T3682] livepatch: enabling patch 'test_klp_livepatch' > +[ T3682] livepatch: 'test_klp_livepatch': initializing patching transition > +[ T3682] livepatch: 'test_klp_livepatch': starting patching transition > +[ T826] livepatch: 'test_klp_livepatch': completing patching transition > +[ T826] livepatch: 'test_klp_livepatch': patching complete > +[ T3659] % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled > +[ T3659] livepatch: 'test_klp_livepatch': initializing unpatching transition > +[ T3659] livepatch: 'test_klp_livepatch': starting unpatching transition > +[ T789] livepatch: 'test_klp_livepatch': completing unpatching transition > +[ T789] livepatch: 'test_klp_livepatch': unpatching complete > +[ T3659] % rmmod test_klp_livepatch > > ERROR: livepatch kselftest(s) failed > not ok 1 selftests: livepatch: test-livepatch.sh # exit=1 > > Currently the check_result() handles the "[time]" removal from > the dmesg. Enhance the check to also handle removal of "[Thread Id]" > or "[CPU Id]". > > Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> Acked-by: Miroslav Benes <mbenes@suse.cz> M
On Sun 2025-01-19 22:02:38, Madhavan Srinivasan wrote: > Some arch configs (like ppc64) enable CONFIG_PRINTK_CALLER, > which adds the caller id as part of the dmesg. With recent > util-linux's update 467a5b3192f16 ('dmesg: add caller_id support') > the standard "dmesg" has been enhanced to print PRINTK_CALLER fields. > > Due to this, even though the expected vs observed are same, > end testcase results are failed. > > -% insmod test_modules/test_klp_livepatch.ko > -livepatch: enabling patch 'test_klp_livepatch' > -livepatch: 'test_klp_livepatch': initializing patching transition > -livepatch: 'test_klp_livepatch': starting patching transition > -livepatch: 'test_klp_livepatch': completing patching transition > -livepatch: 'test_klp_livepatch': patching complete > -% echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled > -livepatch: 'test_klp_livepatch': initializing unpatching transition > -livepatch: 'test_klp_livepatch': starting unpatching transition > -livepatch: 'test_klp_livepatch': completing unpatching transition > -livepatch: 'test_klp_livepatch': unpatching complete > -% rmmod test_klp_livepatch > +[ T3659] % insmod test_modules/test_klp_livepatch.ko > +[ T3682] livepatch: enabling patch 'test_klp_livepatch' > +[ T3682] livepatch: 'test_klp_livepatch': initializing patching transition > +[ T3682] livepatch: 'test_klp_livepatch': starting patching transition > +[ T826] livepatch: 'test_klp_livepatch': completing patching transition > +[ T826] livepatch: 'test_klp_livepatch': patching complete > +[ T3659] % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled > +[ T3659] livepatch: 'test_klp_livepatch': initializing unpatching transition > +[ T3659] livepatch: 'test_klp_livepatch': starting unpatching transition > +[ T789] livepatch: 'test_klp_livepatch': completing unpatching transition > +[ T789] livepatch: 'test_klp_livepatch': unpatching complete > +[ T3659] % rmmod test_klp_livepatch > > ERROR: livepatch kselftest(s) failed > not ok 1 selftests: livepatch: test-livepatch.sh # exit=1 > > Currently the check_result() handles the "[time]" removal from > the dmesg. Enhance the check to also handle removal of "[Thread Id]" > or "[CPU Id]". > > Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> Looks and works well: Reviewed-by: Petr Mladek <pmladek@suse.com> Tested-by: Petr Mladek <pmladek@suse.com> Best Regards, Petr PS: The merge window for 6.14 has started yesterday. Every change should spend at least few days in linux-next and I have already sent a pull request so it is kind of late for 6.14. If there is a demand, I could still queue it for 6.14 in the 2nd half of the merge window or for rc2. There is only small group of people interested into the livepatch selftests anyway.
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh index e5d06fb40233..15601402dee6 100644 --- a/tools/testing/selftests/livepatch/functions.sh +++ b/tools/testing/selftests/livepatch/functions.sh @@ -306,7 +306,8 @@ function check_result { result=$(dmesg | awk -v last_dmesg="$LAST_DMESG" 'p; $0 == last_dmesg { p=1 }' | \ grep -e 'livepatch:' -e 'test_klp' | \ grep -v '\(tainting\|taints\) kernel' | \ - sed 's/^\[[ 0-9.]*\] //') + sed 's/^\[[ 0-9.]*\] //' | \ + sed 's/^\[[ ]*[CT][0-9]*\] //') if [[ "$expect" == "$result" ]] ; then echo "ok"
Some arch configs (like ppc64) enable CONFIG_PRINTK_CALLER, which adds the caller id as part of the dmesg. With recent util-linux's update 467a5b3192f16 ('dmesg: add caller_id support') the standard "dmesg" has been enhanced to print PRINTK_CALLER fields. Due to this, even though the expected vs observed are same, end testcase results are failed. -% insmod test_modules/test_klp_livepatch.ko -livepatch: enabling patch 'test_klp_livepatch' -livepatch: 'test_klp_livepatch': initializing patching transition -livepatch: 'test_klp_livepatch': starting patching transition -livepatch: 'test_klp_livepatch': completing patching transition -livepatch: 'test_klp_livepatch': patching complete -% echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled -livepatch: 'test_klp_livepatch': initializing unpatching transition -livepatch: 'test_klp_livepatch': starting unpatching transition -livepatch: 'test_klp_livepatch': completing unpatching transition -livepatch: 'test_klp_livepatch': unpatching complete -% rmmod test_klp_livepatch +[ T3659] % insmod test_modules/test_klp_livepatch.ko +[ T3682] livepatch: enabling patch 'test_klp_livepatch' +[ T3682] livepatch: 'test_klp_livepatch': initializing patching transition +[ T3682] livepatch: 'test_klp_livepatch': starting patching transition +[ T826] livepatch: 'test_klp_livepatch': completing patching transition +[ T826] livepatch: 'test_klp_livepatch': patching complete +[ T3659] % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled +[ T3659] livepatch: 'test_klp_livepatch': initializing unpatching transition +[ T3659] livepatch: 'test_klp_livepatch': starting unpatching transition +[ T789] livepatch: 'test_klp_livepatch': completing unpatching transition +[ T789] livepatch: 'test_klp_livepatch': unpatching complete +[ T3659] % rmmod test_klp_livepatch ERROR: livepatch kselftest(s) failed not ok 1 selftests: livepatch: test-livepatch.sh # exit=1 Currently the check_result() handles the "[time]" removal from the dmesg. Enhance the check to also handle removal of "[Thread Id]" or "[CPU Id]". Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> --- Changelog v1: - Modified commit message to include util-linux commit that updated dmesg to support printing of PRINTK_CALLER fields. - Updated the check to include "CPU Id" along with "Thread Id" tools/testing/selftests/livepatch/functions.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)