Re: [PATCH net-next 14/15] net: Reference bpf_redirect_info via task_struct on PREEMPT_RT.
From: Toke Høiland-Jørgensen <hidden>
Date: 2024-05-07 13:50:54
Also in:
bpf, lkml
From: Toke Høiland-Jørgensen <hidden>
Date: 2024-05-07 13:50:54
Also in:
bpf, lkml
Sebastian Andrzej Siewior [off-list ref] writes:
quoted
quoted
+static inline struct bpf_redirect_info *bpf_net_ctx_get_ri(void) +{ + struct bpf_net_context *bpf_net_ctx = bpf_net_ctx_get(); + + if (!bpf_net_ctx) + return NULL;... do we really need all the NULL checks? (not just here, but in the code below as well). I'm a little concerned that we are introducing a bunch of new branches in the XDP hot path. Which is also why I'm asking for benchmarks :)We could hide the WARN behind CONFIG_DEBUG_NET. The only purpose is to see the backtrace where the context is missing. Having just an error somewhere will make it difficult to track. The NULL check is to avoid a crash if the context is missing. You could argue that this should be noticed in development and never hit production. If so, then we get the backtrace from NULL-pointer dereference and don't need the checks and WARN.
Yup, this (relying on the NULL deref) SGTM :) -Toke