On 04/11/2019 11:18 PM, Willem de Bruijn wrote: [...] >>> diff --git a/net/core/filter.c b/net/core/filter.c >>> index 22eb2ed..a1654ef62 100644 >>> --- a/net/core/filter.c >>> +++ b/net/core/filter.c >>> @@ -2969,11 +2969,14 @@ static u32 bpf_skb_net_base_len(const struct sk_buff *skb) >>> #define BPF_F_ADJ_ROOM_MASK (BPF_F_ADJ_ROOM_FIXED_GSO | \ >>> BPF_F_ADJ_ROOM_ENCAP_L3_MASK | \ >>> BPF_F_ADJ_ROOM_ENCAP_L4_GRE | \ >>> - BPF_F_ADJ_ROOM_ENCAP_L4_UDP) >>> + BPF_F_ADJ_ROOM_ENCAP_L4_UDP | \ >>> + BPF_F_ADJ_ROOM_ENCAP_L2( \ >>> + BPF_ADJ_ROOM_ENCAP_L2_MASK)) >>> >>> static int bpf_skb_net_grow(struct sk_buff *skb, u32 off, u32 len_diff, >>> u64 flags) >>> { >> >> One thing that it seems missing in this but also in Willem's earlier set >> is that we reject these flags in bpf_skb_net_shrink(). Both are called from >> bpf_skb_adjust_room(), so if we don't support decap yet we should reject >> such flags so we can extend in future. Could you or Willem send a follow-up? > > Indeed. Thanks for bringing that up, Daniel. I only thought of that > after submitting the original patchset, too. Will send a patch. Great, thanks, appreciated! :)