[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1384206735-4226-1-git-send-email-ast@plumgrid.com>
Date: Mon, 11 Nov 2013 13:52:15 -0800
From: Alexei Starovoitov <ast@...mgrid.com>
To: "David S. Miller" <davem@...emloft.net>
Cc: Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org,
Maciej Zenczykowski <zenczykowski@...il.com>,
Nicolas Dichtel <nicolas.dichtel@...nd.com>
Subject: [PATCH net] core/dev: do not ignore dmac in dev_forward_skb()
commit 06a23fe31ca3
("core/dev: set pkt_type after eth_type_trans() in dev_forward_skb()")
and refactoring 64261f230a91
("dev: move skb_scrub_packet() after eth_type_trans()")
are forcing pkt_type to be PACKET_HOST when skb traverses veth.
which means that ip forwarding will kick in inside netns
even if skb->eth->h_dest != dev->dev_addr
Revert offending commit
Fixes: 06a23fe31ca3 ("core/dev: set pkt_type after eth_type_trans() in dev_forward_skb()")
CC: Maciej Zenczykowski <zenczykowski@...il.com>
CC: Nicolas Dichtel <nicolas.dichtel@...nd.com>
Signed-off-by: Alexei Starovoitov <ast@...mgrid.com>
---
commit-06a23fe31ca3's testcase is still working,
since pkt_type is now set by ip tunnel
the diff is for 3.12
imo the bug is severe enough that worth queueing for 3.11
net/core/dev.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 3430b1e..2afc521 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1691,13 +1691,9 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
kfree_skb(skb);
return NET_RX_DROP;
}
- skb->protocol = eth_type_trans(skb, dev);
- /* eth_type_trans() can set pkt_type.
- * call skb_scrub_packet() after it to clear pkt_type _after_ calling
- * eth_type_trans().
- */
skb_scrub_packet(skb, true);
+ skb->protocol = eth_type_trans(skb, dev);
return netif_rx(skb);
}
--
1.7.9.5
--
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