On 5/4/26 2:34 PM, Marcos Paulo de Souza wrote: > This is the fifth version of the patchset, which fixes the last Sashiko > comment, about overwriting MOD_LIVEPATCH global variable and using a > local variable to avoid module load clashing when an older kernel > don't support some sysfs attributes. > > Original cover-letter: > These patches don't really change how the patches are run, just skip > some tests on kernels that don't support a feature (like kprobe and > livepatched living together) or when a livepatch sysfs attribute is > missing. > > These patches are based on printk/for-next branch. > > Please review! Thanks! > > Signed-off-by: Marcos Paulo de Souza <[email protected]> > --- > Changes in v5: > - Edit the last three patches to avoid overwriting MOD_LIVEPATCH > variable, using a local variable. This fixed the last Sashiko report. > - Link to v4: > https://patch.msgid.link/[email protected] > > Changes in v4: > - Patch 5 was changed in order to address a comment made by Sashiko, where > subsequent tests rewrite the variables that contain the modules being > loaded. > - Link to v3: > https://patch.msgid.link/[email protected] > > Changes in v3: > - Patch 1 was changed to reorganize the ifdeffery to handle multiple archs > syscall wrapper (Miroslav) > - Patch 3 was changed to rework the commit message and to address function > naming (Joe) > - Patches 4, 5 and 6 where had the commit messages to include the kernel > version where > the given sysfs attributes were included (Petr Mladek) > - Link to v2: > https://patch.msgid.link/[email protected] > > Changes in v2: > - Patch descriptions were changed to remove "test-X", since it was polluting > the commit subjects (Miroslav Benes) > - Patch 8 was dropped since it was checking for a message from an out-of-tree > patch. (Petr Mladek) > - Patch 3 was dropped as should be treated as expected failure for older > kernels. (Petr Mladek) > - Patch 2 was changed to use y/n instead of 1/0, since it's more natural to > use it. > - Patch 1 was changed to handle ppc and loongson, and error out if dealing > with a different architecture that sets > CONFIG_ARCH_HAS_SYSCALL_WRAPPER and haven't changed the test to include the > proper wrapper prefix. > - Patch 4 was changed to invert the return of the bash function to return 1 > in failure, like > a normal bash function (Joe Lawrence) > - Patches 5, 6 an 7 were changed to not split the tests, but to only run the > tests > when the attribute were present (Miroslav Benes) > - Link to v1: > https://patch.msgid.link/[email protected] > > --- > Marcos Paulo de Souza (6): > selftests: livepatch: Check for ARCH_HAS_SYSCALL_WRAPPER config > selftests: livepatch: Replace true/false module parameter by y/n > selftests: livepatch: Introduce does_sysfs_exist function > selftests: livepatch: Check if patched sysfs attribute exists > selftests: livepatch: Check if replace sysfs attribute exists > selftests: livepatch: Check if stack_order sysfs attribute exists > > tools/testing/selftests/livepatch/functions.sh | 10 + > tools/testing/selftests/livepatch/test-kprobe.sh | 8 +- > tools/testing/selftests/livepatch/test-sysfs.sh | 219 > +++++++++++---------- > .../livepatch/test_modules/test_klp_syscall.c | 27 ++- > 4 files changed, 153 insertions(+), 111 deletions(-) > --- > base-commit: 712c0756828becbfc629ff8d8b82deff5d1115e4 > change-id: 20260309-lp-tests-old-fixes-f955abc8ec27 >
Acked-by: Joe Lawrence <[email protected]> FWIW, I tried this out on 4.18.0-372.137.1.el8_6.x86_64, the oldest kernel we're supporting for livepatching at the momement, and the modern selftests + Marcos's patchset happily ran without any problems. -- Joe

