[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130807130856.GI3165@eerihug-hybrid.rnd.ki.sw.ericsson.se>
Date: Wed, 7 Aug 2013 15:08:56 +0200
From: Erik Hugne <erik.hugne@...csson.com>
To: <netdev@...r.kernel.org>
CC: <tipc-discussion@...ts.sourceforge.net>, <jon.maloy@...csson.com>,
<ying.xue@...driver.com>
Subject: skbs delivered to 'wrong' packet_type handler
We have a race condition in TIPC when using both the parent ethernet
device, and a vlan on top of this device as TIPC bearers. For some reason,
net/core/dev.c is delivering vlan packets to packet handlers registered to
the native device. This only seems to occur when a packet_type handler is
registered on both the vlan device and it's parent ethernet device. This
causes all kinds of weird behaviour in TIPC, from cross-vlan links being
established to oopses.
At first, i thought this was due to a missing PACKET_OTHERHOST filtering
in the TIPC ethernet code, but adding that check did not resolve the issue.
Adding an explicit check for skb->dev vs packet_type->dev does work, but
i dont think that's the proper way to solve it.
What's the purpose of having a dev entry in the packet_type if it's ignored
by the lower layers?
//E
--
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