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
| ||
|
Message-ID: <CACRpkdY2U-SmNZ=52qTFBcYtqe63MHdBY=FUFitfBfjb3aYeBQ@mail.gmail.com> Date: Thu, 21 Dec 2023 00:00:52 +0100 From: Linus Walleij <linus.walleij@...aro.org> To: Vladimir Oltean <olteanv@...il.com> Cc: Maxime Chevallier <maxime.chevallier@...tlin.com>, Romain Gantois <romain.gantois@...tlin.com>, Alexandre Torgue <alexandre.torgue@...s.st.com>, Jose Abreu <joabreu@...opsys.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Maxime Coquelin <mcoquelin.stm32@...il.com>, Miquel Raynal <miquel.raynal@...tlin.com>, Sylvain Girard <sylvain.girard@...com>, Pascal EBERHARD <pascal.eberhard@...com>, Richard Tresidder <rtresidd@...ctromag.com.au>, netdev@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com, linux-arm-kernel@...ts.infradead.org, stable@...r.kernel.org Subject: Re: [PATCH net 1/1] net: stmmac: Prevent DSA tags from breaking COE On Wed, Dec 20, 2023 at 1:43 AM Linus Walleij <linus.walleij@...aro.org> wrote: > Then for *this* driver I need to check for the ethertype > ETH_P_8021Q what is inside it, one level down, and that is a > separate helper. And I named it skb_vlan_raw_inner_ethertype() > It will retrieve the inner type no matter > > include/linux/if_vlan.h > > +/* This determines the inner ethertype incoded into the skb data without > + * relying on skb->protocol which is not always identical. > + */ > +static inline u16 skb_vlan_raw_inner_ethertype(const struct sk_buff *skb) > +{ > + struct vlan_ethhdr *vhdr; > + > + if (!skb_pointer_if_linear(skb, 0, VLAN_ETH_HLEN)) > + return 0x0000U; > + > + vhdr = vlan_eth_hdr(skb); > + return ntohs(vhdr->h_vlan_encapsulated_proto); > +} > > (We can bikeshed the name of the function. *_inner_protocol maybe.) > > It does not handle nested VLANs and I don't see why it should since > the immediate siblings in if_vlan.h does not, i.e. > vlan_eth_hdr(), skb_vlan_eth_hdr(). It's pretty clear these helpers > all go just one level down. (We can add a *_descend_*() > helper the day someone needs that.) Forget this whole discussion because in <linux/if_vlan.h> there is already vlan_get_protocol() and vlan_get_protocol_and_depth() so this problem is already solved, just better. Yours, Linus Walleij
Powered by blists - more mailing lists