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: <20111212221923.5356.43629.stgit@vifc.jf.intel.com>
Date:	Mon, 12 Dec 2011 14:19:23 -0800
From:	Vasu Dev <vasu.dev@...el.com>
To:	netdev@...r.kernel.org
Cc:	jpirko@...hat.com, devel@...n-fcoe.org
Subject: [PATCH] net: do not pass vlan pkts to real dev pkt handler also

The orig_dev has to be updated before going another round
for vlan pkts, otherwise currently unmodified real orig_dev
causes vlan pkt delivered to real orig_dev also.

The fcoe stack doesn't expects its vlan pkts on real dev
and it causes crash in fcoe stack.

This wasn't issue untill __netif_receive_skb recursive calling
was removed with this commit 0dfe178, so this patch restores
orig_dev uses as it was prior to that commit but still w/o
recursive calling to __netif_receive_skb.

Signed-off-by: Vasu Dev <vasu.dev@...el.com>
---

 net/core/dev.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index f494675..adbcd7a 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3222,9 +3222,10 @@ ncls:
 			ret = deliver_skb(skb, pt_prev, orig_dev);
 			pt_prev = NULL;
 		}
-		if (vlan_do_receive(&skb, !rx_handler))
+		if (vlan_do_receive(&skb, !rx_handler)) {
+			orig_dev = skb->dev;
 			goto another_round;
-		else if (unlikely(!skb))
+		} else if (unlikely(!skb))
 			goto out;
 	}
 

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