From: Marcos Paulo de Souza Date: Fri, 20 Feb 2026 14:12:33 +0000 (-0300) Subject: selftests: livepatch: test-ftrace: livepatch a traced function X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=920e5001f4beb38685d5b8cac061cb1d2760eeab;p=thirdparty%2Fkernel%2Flinux.git selftests: livepatch: test-ftrace: livepatch a traced function This is basically the inverse case of commit 474eecc882ae ("selftests: livepatch: test if ftrace can trace a livepatched function") but ensuring that livepatch would work on a traced function. Signed-off-by: Marcos Paulo de Souza Reviewed-by: Petr Mladek Tested-by: Petr Mladek Acked-by: Miroslav Benes Acked-by: Joe Lawrence Link: https://patch.msgid.link/20260220-lp-test-trace-v1-1-4b6703cd01a6@suse.com [pmladek: Fixed a typo found by Joe.] Signed-off-by: Petr Mladek --- diff --git a/tools/testing/selftests/livepatch/test-ftrace.sh b/tools/testing/selftests/livepatch/test-ftrace.sh index 094176f1a46ae..d2c3dea63104d 100755 --- a/tools/testing/selftests/livepatch/test-ftrace.sh +++ b/tools/testing/selftests/livepatch/test-ftrace.sh @@ -95,4 +95,40 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" + +# - trace a function +# - verify livepatch can load targgeting on the same traced function +# - check if the livepatch is in effect +# - reset trace and unload livepatch + +start_test "livepatch a traced function and check that the live patch remains in effect" + +FUNCTION_NAME="cmdline_proc_show" + +trace_function "$FUNCTION_NAME" +load_lp $MOD_LIVEPATCH + +if [[ "$(cat /proc/cmdline)" == "$MOD_LIVEPATCH: this has been live patched" ]] ; then + log "livepatch: ok" +fi + +check_traced_functions "$FUNCTION_NAME" + +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 +livepatch: ok +% echo 0 > $SYSFS_KLP_DIR/$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