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: Tue, 9 Feb 2016 16:39:43 +0100 From: Tom Herbert <tom@...bertland.com> To: Alexander Duyck <aduyck@...antis.com> Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>, Alexander Duyck <alexander.duyck@...il.com>, "David S. Miller" <davem@...emloft.net> Subject: Re: [net PATCH] net: Copy inner L3 and L4 headers as unaligned on GRE TEB On Tue, Feb 9, 2016 at 3:14 PM, Alexander Duyck <aduyck@...antis.com> wrote: > This patch corrects the unaligned accesses seen on GRE TEB tunnels when > generating hash keys. Specifically what this patch does is make it so that > we force the use of skb_copy_bits when the GRE inner headers will be > unaligned due to NET_IP_ALIGNED being a non-zero value. > > Signed-off-by: Alexander Duyck <aduyck@...antis.com> Acked-by: Tom Herbert <tom@...bertland.com> > --- > > I don't have the ability to test it but this should fix flow dissector for > GRE TEB tunnels traffic seen on architectures that require network and > transport headers to be 4 byte aligned. > > net/core/flow_dissector.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c > index 699b2c415cb0..9c181ba7263e 100644 > --- a/net/core/flow_dissector.c > +++ b/net/core/flow_dissector.c > @@ -402,6 +402,13 @@ ip_proto_again: > goto out_bad; > proto = eth->h_proto; > nhoff += sizeof(*eth); > + > + /* Cap headers that we access via pointers at the > + * end of the Ethernet header as our maximum alignment > + * at that point is only 2 bytes. > + */ > + if (NET_IP_ALIGN) > + hlen = nhoff; > } > > key_control->flags |= FLOW_DIS_ENCAPSULATION; >
Powered by blists - more mailing lists