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: Thu, 7 Jan 2016 08:27:42 +0100 From: Michal Kubecek <mkubecek@...e.cz> To: Hannes Frederic Sowa <hannes@...essinduktion.org> Cc: "Nelson, Shannon" <shannon.nelson@...el.com>, Tom Herbert <tom@...bertland.com>, Jesse Gross <jesse@...ira.com>, Jiri Benc <jbenc@...hat.com>, David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org> Subject: Re: WARN trace - skb_warn_bad_offload - vxlan - large udp packet - udp checksum disabled On Thu, Jan 07, 2016 at 07:46:40AM +0100, Michal Kubecek wrote: > On Thu, Jan 07, 2016 at 03:36:27AM +0100, Hannes Frederic Sowa wrote: > > On 15.12.2015 02:35, Nelson, Shannon wrote: > > >Using a slightly modified version of udpspam (see diff below - > > >hopefully not mangled by corporate email servers), where I set the > > >SO_NO_CHECK socket option and can specify a large buffer size, I can > > >reliably get the following WARN trace. I have reproduced this on > > >both ixgbe and i40e drivers using "udpspam-no-check <target-ip> > > >6000". > > > > > >It looks to me like this is in the Tx path before we get to the > > >actual NIC drivers, but I may be wrong. > > > > Does UFO offloading on the tunnel interface fix this error? > > > > ethtool -K vxlan ufo off > > > > If yes we can't feed SO_NO_CHECK udp packets into UFO as gso/ufo > > requires CHECKSUM_PARTIAL (or add some more logic into the skb or > > query socket status from skb_gso_segment). > > I believe you are right. This sounds like the issue addressed by commit > acf8dd0a9d0b ("udp: only allow UFO for packets from SOCK_DGRAM sockets") > except for a regular SOCK_DGRAM socket with SO_NO_CHECK option. If so, > changing both instances of the check > > (sk->sk_type == SOCK_DGRAM) > > added by this commit to > > (sk->sk_type == SOCK_DGRAM) && !sk->sk_no_check_tx > > should fix the problem (and it should be done even if the issue reported > here is caused by something else). Correction: the IPv6 case will need "!udp_get_no_check6_tx(sk)" instead. Michal Kubecek -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists