]> www.infradead.org Git - users/hch/misc.git/commitdiff
powerpc64/modules: correctly iterate over stubs in setup_ftrace_ool_stubs
authorJoe Lawrence <joe.lawrence@redhat.com>
Fri, 12 Sep 2025 14:27:39 +0000 (10:27 -0400)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Mon, 15 Sep 2025 11:10:52 +0000 (16:40 +0530)
CONFIG_PPC_FTRACE_OUT_OF_LINE introduced setup_ftrace_ool_stubs() to
extend the ppc64le module .stubs section with an array of
ftrace_ool_stub structures for each patchable function.

Fix its ppc64_stub_entry stub reservation loop to properly write across
all of the num_stubs used and not just the first entry.

Fixes: eec37961a56a ("powerpc64/ftrace: Move ftrace sequence out of line")
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
Acked-by: Naveen N Rao (AMD) <naveen@kernel.org>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250912142740.3581368-3-joe.lawrence@redhat.com
arch/powerpc/kernel/module_64.c

index 126bf3b06ab7e2f12fb268d7d8a741410988b548..0e45cac4de76b6f8f3432157ae8a6f99b4b09da8 100644 (file)
@@ -1139,7 +1139,7 @@ static int setup_ftrace_ool_stubs(const Elf64_Shdr *sechdrs, unsigned long addr,
 
        /* reserve stubs */
        for (i = 0; i < num_stubs; i++)
-               if (patch_u32((void *)&stub->funcdata, PPC_RAW_NOP()))
+               if (patch_u32((void *)&stub[i].funcdata, PPC_RAW_NOP()))
                        return -1;
 #endif