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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141219110732.53264ef8@griffin>
Date:	Fri, 19 Dec 2014 11:07:32 +0100
From:	Jiri Benc <jbenc@...hat.com>
To:	Jay Vosburgh <jay.vosburgh@...onical.com>
Cc:	Eric Dumazet <eric.dumazet@...il.com>,
	Govindarajulu Varadarajan <_govind@....com>,
	davem@...emloft.net, netdev@...r.kernel.org, ssujith@...co.com,
	benve@...co.com, Stefan Assmann <sassmann@...hat.com>
Subject: Re: [PATCH net] enic: fix rx skb checksum

On Thu, 18 Dec 2014 09:39:27 -0800, Jay Vosburgh wrote:
> 	I've actually been looking into this "hw csum failure" (as it
> appears with OVS and VXLAN) the last couple of days, and, at least on
> the sky2 hardware I have, the problem doesn't appear to be the
> hardware's CHECKSUM_COMPLETE checksumming.

With the enic driver, the problem _is_ the hardware checksumming.

While debugging the "hw csum failure" messages, I verified the checksum
returned by the hardware directly in the driver (in
enic_rq_indicate_buf). It appears that for some packets (most notably
ICMP ones), the hardware returns 0xffff. I did not see any other wrong
value, in other words, the returned checksum was either correct, or
0xffff.

I have no idea whether the hardware verified the checksum for the
0xffff case and is just not returning the checksum or whether such
packets come completely unverified.

As for Govindarajulu's patch, I believe we can do better. First, its
description does not match what I'm seeing (I see correct checksum
provided in most cases) and second, the driver should provide
CHECKSUM_COMPLETE whenever possible; and it seems to be possible.

> 	I've also not tested it on enic hardware.  Govindarajulu, would
> you be able to test this against the unmodified enic driver and see if
> it resolves the problem for you?

I'm quite sure it does not, the skb->csum field is incorrect even
before the skb enters the stack.

 Jiri

-- 
Jiri Benc
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ