Thread (17 messages) 17 messages, 4 authors, 2025-10-22

Re: [PATCH RFC bpf-next 3/5] bpf,x86: add tracing session supporting for x86_64

From: Alexei Starovoitov <hidden>
Date: 2025-10-21 18:17:09
Also in: bpf, lkml

On Sat, Oct 18, 2025 at 7:21 AM Menglong Dong [off-list ref] wrote:
quoted hunk ↗ jump to hunk
 /* mov rax, qword ptr [rbp - rounded_stack_depth - 8] */
 #define LOAD_TRAMP_TAIL_CALL_CNT_PTR(stack)    \
        __LOAD_TCC_PTR(-round_up(stack, 8) - 8)
@@ -3179,8 +3270,10 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *rw_im
                                         void *func_addr)
 {
        int i, ret, nr_regs = m->nr_args, stack_size = 0;
-       int regs_off, nregs_off, ip_off, run_ctx_off, arg_stack_off, rbx_off;
+       int regs_off, nregs_off, session_off, ip_off, run_ctx_off,
+           arg_stack_off, rbx_off;
        struct bpf_tramp_links *fentry = &tlinks[BPF_TRAMP_FENTRY];
+       struct bpf_tramp_links *session = &tlinks[BPF_TRAMP_SESSION];
        struct bpf_tramp_links *fexit = &tlinks[BPF_TRAMP_FEXIT];
        struct bpf_tramp_links *fmod_ret = &tlinks[BPF_TRAMP_MODIFY_RETURN];
        void *orig_call = func_addr;
@@ -3222,6 +3315,8 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *rw_im
         *
         * RBP - nregs_off [ regs count      ]  always
         *
+        * RBP - session_off [ session flags ] tracing session
+        *
         * RBP - ip_off    [ traced function ]  BPF_TRAMP_F_IP_ARG flag
         *
         * RBP - rbx_off   [ rbx value       ]  always
@@ -3246,6 +3341,8 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *rw_im
        /* regs count  */
        stack_size += 8;
        nregs_off = stack_size;
+       stack_size += 8;
+       session_off = stack_size;
Unconditional stack increase? :(
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help