]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bpf: fix the usage of BPF_TRAMP_F_SKIP_FRAME
authorMenglong Dong <menglong8.dong@gmail.com>
Tue, 18 Nov 2025 12:36:31 +0000 (20:36 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 24 Nov 2025 17:47:03 +0000 (09:47 -0800)
Some places calculate the origin_call by checking if
BPF_TRAMP_F_SKIP_FRAME is set. However, it should use
BPF_TRAMP_F_ORIG_STACK for this propose. Just fix them.

Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/r/20251118123639.688444-4-dongml2@chinatelecom.cn
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/riscv/net/bpf_jit_comp64.c
arch/x86/net/bpf_jit_comp.c

index 45cbc7c6fe490c151dc93033f7d51c61acec6756..21c70ae3296bb59449d3ec4a60f3ccce3a9b3eea 100644 (file)
@@ -1131,7 +1131,7 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im,
        store_args(nr_arg_slots, args_off, ctx);
 
        /* skip to actual body of traced function */
-       if (flags & BPF_TRAMP_F_SKIP_FRAME)
+       if (flags & BPF_TRAMP_F_ORIG_STACK)
                orig_call += RV_FENTRY_NINSNS * 4;
 
        if (flags & BPF_TRAMP_F_CALL_ORIG) {
index 36a0d4db9f68698c243a7badee00bcd9ffe3a5cd..808d4343f6cfafc5bb656ac1021a8610a989d00f 100644 (file)
@@ -3289,7 +3289,7 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *rw_im
 
        arg_stack_off = stack_size;
 
-       if (flags & BPF_TRAMP_F_SKIP_FRAME) {
+       if (flags & BPF_TRAMP_F_CALL_ORIG) {
                /* skip patched call instruction and point orig_call to actual
                 * body of the kernel function.
                 */