在 2026/5/27 20:09, Marcos Paulo de Souza 写道:
On Wed, 2026-05-27 at 17:59 +0800, Qiang Ma wrote:
When executing the command
"make -C tools/testing/selftests TARGETS=livepatch run_tests",
the following error message was reported.

TEST: livepatch interaction with ftrace_enabled sysctl ... not ok
...
livepatch: sysctlo
: setting key "kernel.ftrace_enabled": Device or resource busy
livepatch: sysctl: setting key "kernel.ftrace_enabled": 设备或资源忙
...
ERROR: livepatch kselftest(s) failed
not ok 5 selftests: livepatch: test-ftrace.sh # exit=1

To fix it, set LC_ALL=C.
Would you mind adding more context here? Can you point exactly why is
this failing inside test-ftrace.sh script?
In the check_result(), the values of  result  and expect are compared.
In the expect value, one part is
"livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy".
However, the actual value of result obtained from dmesg is
"[  220.947876] livepatch: sysctl: 设置键 "kernel.ftrace_enabled": 设备或资源忙".

The comparison is different, so it directly enters the final 'else' branch.
Finally, the 'else' branch prints the difference between result and expect:

# --- expected
# +++ result
# @@ -16,7 +16,7 @@ livepatch: 'test_klp_livepatch': initial # livepatch: 'test_klp_livepatch': starting patching transition
#  livepatch: 'test_klp_livepatch': completing patching transition
#  livepatch: 'test_klp_livepatch': patching complete
# -livepatch: sysctl: setting key "kernel.ftrace_enabled": Device or resource busy # +livepatch: sysctl: Set key "kernel.ftrace_enabled": Device or resource is busy #  % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled
#  livepatch: 'test_klp_livepatch': initializing unpatching transition
#  livepatch: 'test_klp_livepatch': starting unpatching transition

Have you double checked if you had any previous loaded livepatches why
trying to disable/enable livepatching?

I'll test in my environment, but I'm pretty sure that it used to work
not so long ago.

Signed-off-by: Qiang Ma <[email protected]>
---
  tools/testing/selftests/livepatch/functions.sh | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/livepatch/functions.sh
b/tools/testing/selftests/livepatch/functions.sh
index 8ec0cb64ad94..ecf27c1120f1 100644
--- a/tools/testing/selftests/livepatch/functions.sh
+++ b/tools/testing/selftests/livepatch/functions.sh
@@ -4,6 +4,8 @@
 # Shell functions for the rest of the scripts. +export LC_ALL=C
+
  MAX_RETRIES=600
  RETRY_INTERVAL=".1" # seconds
  SYSFS_KERNEL_DIR="/sys/kernel"

Reply via email to