Re: [PATCH 2/2] powerpc64/bpf: Fix build break for arch_bpf_timed_may_goto
"Christophe Leroy (CS GROUP)" <[email protected]> Wed, 29 Jul 2026 18:47:39 +0200
| Newsgroups | org.ozlabs.lists.linuxppc-dev,org.kernel.vger.bpf,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Le 29/07/2026 à 18:03, Saket Kumar Bhaskar a écrit :
> With CONFIG_PPC_KERNEL_PCREL enabled, calling bpf_check_timed_may_goto()
> using a bl instruction results in a link-time failure:
>
> arch/powerpc/net/bpf_timed_may_goto.o: in function `arch_bpf_timed_may_goto':
> (.text+0x28): call to `bpf_check_timed_may_goto' lacks nop, can't restore toc
>
> Use CFUNC() macro instead of direct 'bl' to properly annotate the call
> to bpf_check_timed_may_goto(). On PCREL builds, CFUNC() expands to
> 'bl name@notoc', informing the linker that TOC restoration is not
> needed, avoiding the "lacks nop, can't restore toc" linker error.
>
> Fixes: b55b6b9ad76c ("powerpc64/bpf: Add powerpc64 JIT support for timed may_goto")
> Signed-off-by: Saket Kumar Bhaskar <[email protected]>
Reviewed-by: Christophe Leroy (CS GROUP) <[email protected]>
> ---
> arch/powerpc/net/bpf_timed_may_goto.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/net/bpf_timed_may_goto.S b/arch/powerpc/net/bpf_timed_may_goto.S
> index 6fd8b1c9f4ac..84ecf6fa7f5d 100644
> --- a/arch/powerpc/net/bpf_timed_may_goto.S
> +++ b/arch/powerpc/net/bpf_timed_may_goto.S
> @@ -36,7 +36,7 @@ SYM_FUNC_START(arch_bpf_timed_may_goto)
> * BPF_REG_FP is r31; BPF_REG_AX is r12 (stack offset in bytes).
> */
> add r3, r31, r12
> - bl bpf_check_timed_may_goto
> + bl CFUNC(bpf_check_timed_may_goto)
>
> /* Put return value back into AX */
> mr r12, r3