diff options
author | <jgarzik@pretzel.yyz.us> | 2005-05-27 22:07:40 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-05-27 22:07:40 -0400 |
commit | ff0e0ea2f5d36fa90fc2c57fd019102b0a0cfabf (patch) | |
tree | 963cdd52a4032cd4827896c4e813cfbf6dd7b3e6 /net/ipv4/ip_output.c | |
parent | 43f66a6ce8da299344cf1bc2ac2311889cc88555 (diff) | |
parent | 1f15d694522af9cd7492695f11dd2dc77b6cf098 (diff) |
Automatic merge of /spare/repo/netdev-2.6 branch we18
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index daebd93fd8a..760dc8238d6 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -490,6 +490,14 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*)) /* Partially cloned skb? */ if (skb_shared(frag)) goto slow_path; + + BUG_ON(frag->sk); + if (skb->sk) { + sock_hold(skb->sk); + frag->sk = skb->sk; + frag->destructor = sock_wfree; + skb->truesize -= frag->truesize; + } } /* Everything is OK. Generate! */ |