87338c8e2c
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_jit32.h | ||
bpf_jit64.h | ||
bpf_jit_asm64.S | ||
bpf_jit_asm.S | ||
bpf_jit_comp64.c | ||
bpf_jit_comp.c | ||
bpf_jit.h | ||
Makefile |