mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-27 01:11:31 +00:00
The assumption of unconditionally reloading skb pointers on
BPF helper calls where bpf_helper_changes_pkt_data() holds
true is wrong. There can be different contexts where the helper
would enforce a reload such as in case of XDP. Here, we do
have a struct xdp_buff instead of struct sk_buff as context,
thus this will access garbage.
JITs only ever need to deal with cached skb pointer reload
when ld_abs/ind was seen, therefore guard the reload behind
SEEN_SKB.
Fixes:
|
||
|---|---|---|
| .. | ||
| bpf_jit.h | ||
| bpf_jit32.h | ||
| bpf_jit64.h | ||
| bpf_jit_asm.S | ||
| bpf_jit_asm64.S | ||
| bpf_jit_comp.c | ||
| bpf_jit_comp64.c | ||
| Makefile | ||