On Mon, 2026-03-16 at 16:12 -0400, Joe Lawrence wrote: > On Fri, Mar 13, 2026 at 05:58:32PM -0300, Marcos Paulo de Souza > wrote: > > Instead of checking if the architecture running the test was > > powerpc, > > check if CONF_ARCH_HAS_SYSCALL_WRAPPER is defined or not. > > > > No functional changes. > > > > Signed-off-by: Marcos Paulo de Souza <[email protected]> > > --- > > tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c > > | 7 +++---- > > 1 file changed, 3 insertions(+), 4 deletions(-) > > > > diff --git > > a/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c > > b/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c > > index dd802783ea849..c01a586866304 100644 > > --- > > a/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c > > +++ > > b/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c > > @@ -12,15 +12,14 @@ > > #include <linux/slab.h> > > #include <linux/livepatch.h> > > > > -#if defined(__x86_64__) > > +#if !defined(CONFIG_ARCH_HAS_SYSCALL_WRAPPER) > > +#define FN_PREFIX > > +#elif defined(__x86_64__) > > #define FN_PREFIX __x64_ > > #elif defined(__s390x__) > > #define FN_PREFIX __s390x_ > > #elif defined(__aarch64__) > > #define FN_PREFIX __arm64_ > > -#else > > -/* powerpc does not select ARCH_HAS_SYSCALL_WRAPPER */ > > -#define FN_PREFIX > > The patch does maintain the previous behavior, but I'm wondering if > the > original assertion about ARCH_HAS_SYSCALL_WRAPPER on Power was > correct: > > $ grep ARCH_HAS_SYSCALL_WRAPPER arch/powerpc/Kconfig > select ARCH_HAS_SYSCALL_WRAPPER if !SPU_BASE && > !COMPAT > depends on PPC64 && ARCH_HAS_SYSCALL_WRAPPER > > Perhaps I just forgot what that additional piece of information that > explains the comment (highly probable these days), and if so, might > be > nice to add to this commit since I don't see it in 6a71770442b5 > ("selftests: livepatch: Test livepatching a heavily called syscall").
Looking again at the code and at the symbols for SLE for ppc64le, I can say that, even with ARCH_HAS_SYSCALL_WRAPPER being set, the syscall names are not changed for ppc64le. Looking at arch/powerpc/kernel/systbl.c: #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER #define __SYSCALL(nr, entry) [nr] = entry, #else /* * Coerce syscall handlers with arbitrary parameters to common type * requires cast to void* to avoid -Wcast-function-type. */ #define __SYSCALL(nr, entry) [nr] = (void *) entry, #endif Differently from x86 and other already covered archs, the syscall name remains the same on ppc. I will add a comment about it in the next version, adding a case for ppc and an #else clause with an error, so future architectures that support livepatching can add a patch here to fix it for them. > > Thanks, > -- > Joe

