[patch for 2.6.26? 1/2] wan: add missing skb->dev assignment in Frame Relay RX code

DORMANTno replies

From: akpm@linux-foundation.org
Date: 2008-07-04 06:56:33
Subsystem: the rest · Maintainer: Linus Torvalds

From: Krzysztof Halasa <khc@pm.waw.pl>

Commit 4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 ([ETH]: Make
eth_type_trans set skb->dev like the other *_type_trans) removed skb->dev
assignment from hdlc_fr.c:fr_rx().  Unfortunately it was also needed for
cases other than eth_type_trans().

Add it back.

It's quite serious and may be a security risk as it causes a wrong input
interface indication (the physical hdlcX instead of logical pvcX). 
Probably -stable class fix.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Cc: Jeff Garzik <redacted>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Arnaldo Carvalho de Melo <redacted>
Cc: Stephen Hemminger <redacted>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/net/wan/hdlc_fr.c |    1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/net/wan/hdlc_fr.c~wan-add-missing-skb-dev-assignment-in-frame-relay-rx-code drivers/net/wan/hdlc_fr.c
--- a/drivers/net/wan/hdlc_fr.c~wan-add-missing-skb-dev-assignment-in-frame-relay-rx-code
+++ a/drivers/net/wan/hdlc_fr.c
@@ -1008,6 +1008,7 @@ static int fr_rx(struct sk_buff *skb)
 		stats->rx_bytes += skb->len;
 		if (pvc->state.becn)
 			stats->rx_compressed++;
+		skb->dev = dev;
 		netif_rx(skb);
 		return NET_RX_SUCCESS;
 	} else {
_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help