When sk_buffs are cloned the iif field of the new, cloned packet is neither
zeroed out or copied from the existing sk_buff. The result is that the newly
cloned sk_buff has garbage in the iif field which is a Bad Thing. This patch
fixes this problem by copying the iif field along with the other sk_buff
critical fields in __copy_skb_header().
This patch is needed by some of the labeled networking changes proposed for
2.6.25, does anyone have any objections?
---
net/core/skbuff.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 5b4ce9b..9cb7bb7 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -371,6 +371,7 @@ static void __copy_skb_header(struct sk_buff *new, const
struct sk_buff *old)
{
new->tstamp = old->tstamp;
new->dev = old->dev;
+ new->iif = old->iif;
new->transport_header = old->transport_header;
new->network_header = old->network_header;
new->mac_header = old->mac_header;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html