[PATCH 3/5] powerpc64/bpf: use consistent tailcall offset in trampoline
bot+bpf-ci at kernel.org
bot+bpf-ci at kernel.org
Mon Feb 16 18:30:35 AEDT 2026
> powerpc64/bpf: use consistent tailcall offset in trampoline
>
> Ideally, the offset used to load the tail call info field and to find
> the pass by reference address for tail call field should be the same.
> But while setting up the tail call info in the trampoline, this was
> not followed. This can be misleading and can lead to unpredicable
This isn't a bug, but "unpredicable" should be "unpredictable".
> results if and when bpf_has_stack_frame() ends up returning true
> for trampoline frame.
> diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net/bpf_jit_comp.c
> --- a/arch/powerpc/net/bpf_jit_comp.c
> +++ b/arch/powerpc/net/bpf_jit_comp.c
[ ... ]
> @@ -658,7 +656,7 @@ static void bpf_trampoline_setup_tail_call_info(u32 *image, struct codegen_context *ctx,
> */
> EMIT(PPC_RAW_CMPLWI(_R3, MAX_TAIL_CALL_CNT));
> PPC_BCC_CONST_SHORT(COND_GT, 8);
> - EMIT(PPC_RAW_ADDI(_R3, _R4, bpf_jit_stack_tailcallinfo_offset(ctx)));
> + EMIT(PPC_RAW_ADDI(_R3, _R4, -BPF_PPC_TAILCALL));
> /*
> * From ...(1) above:
> * trampoline_frame_bottom = ...(2)
> * func_frame_offset - bpf_dummy_frame_size
> *
> * Using ...(2) derived above:
> * trampoline_tail_call_info_offset = ...(3)
> * trampoline_frame_bottom - tailcallinfo_offset
The comment still references "tailcallinfo_offset" but the local
variable by that name was removed in this patch. Should this say
"BPF_PPC_TAILCALL" instead?
> *
> * From ...(3):
> * Use trampoline_tail_call_info_offset to write reference of main's
> * tail_call_info in trampoline frame.
> */
> EMIT(PPC_RAW_STL(_R3, _R1, (func_frame_offset - bpf_dummy_frame_size)
> - - tailcallinfo_offset));
> + - BPF_PPC_TAILCALL));
---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md
CI run summary: https://github.com/kernel-patches/bpf/actions/runs/22053464899
AI-authorship-score: low
AI-authorship-explanation: The patch follows standard kernel conventions with a human-like typo in the commit message, and addresses a specific powerpc BPF JIT implementation detail consistent with the author's domain expertise.
issues-found: 2
issue-severity-score: low
issue-severity-explanation: Two minor issues found: a stale comment referencing a removed local variable, and a spelling error in the commit message. Neither affects code correctness or runtime behavior.
More information about the Linuxppc-dev
mailing list