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-next>] [day] [month] [year] [list]
Message-ID: <599E416D1C5C994980C45977191D726906AB2FE86E@MTKMBS03.mediatek.inc>
Date:	Thu, 10 May 2012 09:01:53 +0800
From:	Steven Liu (劉人豪) 
	<steven.liu@...iatek.com>
To:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: FW: PROBLEM: VLAN LRO issue

Hi Sir,

I found the issue about VLAN LRO feature and below is bug description and patch for your reference, thanks.

[1.] One line summary of the problem: 
VLAN LRO issue

[2.] Full description of the problem/report:
LRO implementation cannot handle VLAN tagged packets correctly.
It uses correct packet length when creating new LRO session, but uses wrong packet length when putting following packets into exist LRO session.

[3.] Keywords (i.e., modules, networking, kernel):
Networking

[4.] Kernel version (from /proc/version):
Linux-3.4-rc3 and below

[5.] Output of Oops.. message (if applicable) with symbolic information
     resolved (see Documentation/oops-tracing.txt) System is still working, but cannot speed up VLAN tagged traffic.

[X.] Other notes, patches, fixes, workarounds:
We have to apply below patch to fix this issue.

--- linux-3.4-rc3/net/ipv4/inet_lro.orig        2012-05-08 20:09:44.810366089 +0800
+++ linux-3.4-rc3/net/ipv4/inet_lro.c   2012-05-08 20:09:33.331679419 +0800
@@ -353,7 +353,7 @@ static int __lro_proc_skb(struct net_lro
        if (lro_desc->tcp_next_seq != ntohl(tcph->seq))
                goto out2;

-       if (lro_tcp_ip_check(iph, tcph, skb->len, lro_desc))
+       if (lro_tcp_ip_check(iph, tcph, skb->len - vlan_hdr_len, lro_desc))
                goto out2;

        lro_add_packet(lro_desc, skb, iph, tcph);



Regards,

Steven


************* Email Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ