]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bpf, x86: Propagate tailcall info only for subprogs
authorLeon Hwang <leon.hwang@linux.dev>
Thu, 7 Nov 2024 13:45:28 +0000 (21:45 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 13 Nov 2024 01:24:03 +0000 (17:24 -0800)
In x64 JIT, propagate tailcall info only for subprogs, not for helpers
or kfuncs.

Acked-by: Yonghong Song <yonghong.song@linux.dev>
Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Link: https://lore.kernel.org/r/20241107134529.8602-2-leon.hwang@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/x86/net/bpf_jit_comp.c

index 8f896c32172cf332eda7e09e610b4cd845ac8aae..a43fc5af973d27676baee38dd6b080a14c3a0bb5 100644 (file)
@@ -2186,7 +2186,7 @@ populate_extable:
                        u8 *ip = image + addrs[i - 1];
 
                        func = (u8 *) __bpf_call_base + imm32;
-                       if (tail_call_reachable) {
+                       if (src_reg == BPF_PSEUDO_CALL && tail_call_reachable) {
                                LOAD_TAIL_CALL_CNT_PTR(stack_depth);
                                ip += 7;
                        }