mirror of https://gitee.com/openkylin/linux.git
6d59b7dbf7
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
BPF 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 only. Tested on s390x.
Fixes:
|
||
---|---|---|
.. | ||
Makefile | ||
bpf_jit.S | ||
bpf_jit.h | ||
bpf_jit_comp.c |