[PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb

STALE8195d

2 messages, 2 authors, 2004-02-26 · open the first message on its own page

[PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb

From: Simon Barber <hidden>
Date: 2004-02-25 22:54:31

Currently skb->protocol is read before the bridge is called, even though
it's not used until after. Hence if an ebtables module changes the
protocol of a frame the wrong protocol is interpreted.

Simon Barber
--- linux-2.4.26-pre1.orig/net/core/dev.c	2004-02-25
04:16:33.000000000 -0800
+++ linux-2.4.26-pre1/net/core/dev.c	2004-02-25 06:42:05.000000000
-0800
@@ -1462,7 +1462,7 @@
 {
 	struct packet_type *ptype, *pt_prev;
 	int ret = NET_RX_DROP;
-	unsigned short type = skb->protocol;
+	unsigned short type;
 
 	if (skb->stamp.tv_sec == 0)
 		do_gettimeofday(&skb->stamp);
@@ -1507,6 +1507,7 @@
 	}
 #endif
 
+	type = skb->protocol;
 	for (ptype=ptype_base[ntohs(type)&15];ptype;ptype=ptype->next) {
 		if (ptype->type == type &&
 		    (!ptype->dev || ptype->dev == skb->dev)) {

Re: [PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb

From: David S. Miller <hidden>
Date: 2004-02-26 19:57:34

On Wed, 25 Feb 2004 14:47:41 -0800
"Simon Barber" [off-list ref] wrote:
Currently skb->protocol is read before the bridge is called, even though
it's not used until after. Hence if an ebtables module changes the
protocol of a frame the wrong protocol is interpreted.
Applied, even though ebtables is not in 2.4.x yet the change is valid.
I've applied your 2.6.x variant too of course.

Thanks Simon.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help