net: fix deliver_no_wcard regression on loopback device
authorJohn Fastabend <john.r.fastabend@intel.com>
Sun, 13 Jun 2010 10:36:30 +0000 (10:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Jun 2010 00:12:40 +0000 (17:12 -0700)
deliver_no_wcard is not being set in skb_copy_header.
In the skb_cloned case it is not being cleared and
may cause the skb to be dropped when the loopback device
pushes it back up the stack.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c

index 9f07e749d7b15ce9451a8a9b8ac7ed5318568ff3..bcf2fa3e0ddc81885867a9d7a1d2d0fb50ca4703 100644 (file)
@@ -532,6 +532,7 @@ static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
        new->ip_summed          = old->ip_summed;
        skb_copy_queue_mapping(new, old);
        new->priority           = old->priority;
+       new->deliver_no_wcard   = old->deliver_no_wcard;
 #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
        new->ipvs_property      = old->ipvs_property;
 #endif