On Tue Sep 15, 2026 at 1:17 PM UTC, Josef Bacik wrote:
> +static __always_inline void bpf_tramp_read_lock_trace(void)
> +{
> +     if (IS_ENABLED(CONFIG_TASKS_RCU_TRAMPOLINE_READERS))
> +             rcu_read_lock_trace();
> +}
> +
> +static __always_inline void bpf_tramp_read_unlock_trace(void)
> +{
> +     if (IS_ENABLED(CONFIG_TASKS_RCU_TRAMPOLINE_READERS))
> +             rcu_read_unlock_trace();
> +}
> +
> +static u64 notrace __rcu_trampoline
> +__bpf_prog_enter_recur(struct bpf_prog *prog, struct bpf_tramp_run_ctx 
> *run_ctx)
>       __acquires(RCU)
>  {
> +     bpf_tramp_read_lock_trace();
>       rcu_read_lock_dont_migrate();

This is double increment. rcu_read_lock_dont_migrate() includes
rcu_read_lock_trace().


Reply via email to