diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-27 07:08:39 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-27 07:08:39 -0700 | 
| commit | 9db48aaf18d675ac41f550c9384154e0c00de2ef (patch) | |
| tree | 70a19b9164c103e5f52dddff609e01672f8ef616 /net/ipv4/ip_output.c | |
| parent | 0592969e73ae50ce6852d1aff3d222a335289094 (diff) | |
| parent | fea7a08acb13524b47711625eebea40a0ede69a0 (diff) | |
| download | olio-linux-3.10-9db48aaf18d675ac41f550c9384154e0c00de2ef.tar.xz olio-linux-3.10-9db48aaf18d675ac41f550c9384154e0c00de2ef.zip  | |
Merge 3.6-rc3 into driver-core-next
This picks up the printk fixes in 3.6-rc3 that are needed in this branch.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/ipv4/ip_output.c')
| -rw-r--r-- | net/ipv4/ip_output.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index ba39a52d18c..c196d749daf 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -197,7 +197,7 @@ static inline int ip_finish_output2(struct sk_buff *skb)  	neigh = __ipv4_neigh_lookup_noref(dev, nexthop);  	if (unlikely(!neigh))  		neigh = __neigh_create(&arp_tbl, &nexthop, dev, false); -	if (neigh) { +	if (!IS_ERR(neigh)) {  		int res = dst_neigh_output(dst, neigh, skb);  		rcu_read_unlock_bh(); @@ -1338,10 +1338,10 @@ struct sk_buff *__ip_make_skb(struct sock *sk,  	iph->ihl = 5;  	iph->tos = inet->tos;  	iph->frag_off = df; -	ip_select_ident(iph, &rt->dst, sk);  	iph->ttl = ttl;  	iph->protocol = sk->sk_protocol;  	ip_copy_addrs(iph, fl4); +	ip_select_ident(iph, &rt->dst, sk);  	if (opt) {  		iph->ihl += opt->optlen>>2; @@ -1366,9 +1366,8 @@ out:  	return skb;  } -int ip_send_skb(struct sk_buff *skb) +int ip_send_skb(struct net *net, struct sk_buff *skb)  { -	struct net *net = sock_net(skb->sk);  	int err;  	err = ip_local_out(skb); @@ -1391,7 +1390,7 @@ int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4)  		return 0;  	/* Netfilter gets whole the not fragmented skb. */ -	return ip_send_skb(skb); +	return ip_send_skb(sock_net(sk), skb);  }  /* @@ -1536,6 +1535,7 @@ void ip_send_unicast_reply(struct net *net, struct sk_buff *skb, __be32 daddr,  			  arg->csumoffset) = csum_fold(csum_add(nskb->csum,  								arg->csum));  		nskb->ip_summed = CHECKSUM_NONE; +		skb_orphan(nskb);  		skb_set_queue_mapping(nskb, skb_get_queue_mapping(skb));  		ip_push_pending_frames(sk, &fl4);  	}  |