lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 14 Dec 2020 12:52:42 +0100 From: Jesper Dangaard Brouer <brouer@...hat.com> To: sdf@...gle.com Cc: bpf@...r.kernel.org, netdev@...r.kernel.org, Daniel Borkmann <borkmann@...earbox.net>, Alexei Starovoitov <alexei.starovoitov@...il.com>, maze@...gle.com, lmb@...udflare.com, shaun@...era.io, Lorenzo Bianconi <lorenzo@...nel.org>, marek@...udflare.com, John Fastabend <john.fastabend@...il.com>, Jakub Kicinski <kuba@...nel.org>, eyal.birger@...il.com, colrack@...il.com, brouer@...hat.com Subject: Re: [PATCH bpf-next V7 4/8] bpf: add BPF-helper for MTU checking On Thu, 3 Dec 2020 10:25:41 -0800 sdf@...gle.com wrote: > > +BPF_CALL_5(bpf_skb_check_mtu, struct sk_buff *, skb, > > + u32, ifindex, u32 *, mtu_len, s32, len_diff, u64, flags) > > +{ > > + int ret = BPF_MTU_CHK_RET_FRAG_NEEDED; > > + struct net_device *dev = skb->dev; > > + int len; > > + int mtu; > > + > > + if (flags & ~(BPF_MTU_CHK_SEGS)) > > + return -EINVAL; > > + > > + dev = __dev_via_ifindex(dev, ifindex); > > + if (!dev) > > + return -ENODEV; > > + > > + mtu = READ_ONCE(dev->mtu); > > + > > + /* TC len is L2, remove L2-header as dev MTU is L3 size */ > > [..] > > + len = skb->len - ETH_HLEN; > Any reason not to do s/ETH_HLEN/dev->hard_header_len/ (or min_header_len?) > thought this patch? Will fix in V9. There is a very small (performance) overhead, but mostly because net_device struct layout have placed mtu and hard_header_len on different cache-lines. (This is something that should be fixed separately). -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer
Powered by blists - more mailing lists