| To: | "Kernel Mailing List" <linux-kernel@xxxxxxxxxxxxxxx>, <netdev@xxxxxxxxxxx> |
|---|---|
| Subject: | [PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb |
| From: | "Simon Barber" <simon@xxxxxxxxxxxxxx> |
| Date: | Wed, 25 Feb 2004 14:47:41 -0800 |
| Cc: | "Bart De Schuymer" <bdschuym@xxxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| Thread-index: | AcP7H8r7liQMqexhSF+8GCI1T/Fy6gA0P82A |
| Thread-topic: | [PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb |
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)) {
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] proportional share accept(), kashyapv |
|---|---|
| Next by Date: | [PATCH 2.6.3-bk7] Allow ebtables module to change protocol in netif_receive_skb, Simon Barber |
| Previous by Thread: | [patch 2.4.25 15/15] pcnet32 non-mii link state fix, Don Fry |
| Next by Thread: | Re: [PATCH 2.4.26-pre1] Allow ebtables module to change protocol in netif_receive_skb, David S. Miller |
| Indexes: | [Date] [Thread] [Top] [All Lists] |