Re: [PATCH] selftests: livepatch: set LC_ALL=C to fix locale-dependent test failure
Qiang Ma <[email protected]> Wed, 27 May 2026 21:19:35 +0800
| Newsgroups | org.kernel.vger.live-patching,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest |
|---|---|
| Message-ID | <C0D6799DFB309F26+b1597426-6523-47c7-8e22-713819e31f65@uniontech.com> |
在 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"