Subject: linux-next: manual merge of the net-next tree with the net tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 25 Mar 2015 13:18:37 +1100

Hi all,

Today's linux-next merge of the net-next tree got conflicts in
net/ipv4/tcp_ipv4.c and net/ipv6/tcp_ipv6.c between commit d0c294c53a77
("tcp: prevent fetching dst twice in early demux code") from the  tree
and commit f7e4eb03f9d9 ("inet: ip early demux should avoid request
sockets") from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc net/ipv4/tcp_ipv4.c
index f1756ee02207,4e90217003e8..000000000000
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@@ -1517,8 -1521,8 +1521,8 @@@ void tcp_v4_early_demux(struct sk_buff 
  	if (sk) {
  		skb->sk = sk;
  		skb->destructor = sock_edemux;
- 		if (sk->sk_state != TCP_TIME_WAIT) {
+ 		if (sk_fullsock(sk)) {
 -			struct dst_entry *dst = sk->sk_rx_dst;
 +			struct dst_entry *dst = READ_ONCE(sk->sk_rx_dst);
  
  			if (dst)
  				dst = dst_check(dst, 0);
diff --cc net/ipv6/tcp_ipv6.c
index b283a498f7a4,4a4e6d30c448..000000000000
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@@ -1584,8 -1544,8 +1544,8 @@@ static void tcp_v6_early_demux(struct s
  	if (sk) {
  		skb->sk = sk;
  		skb->destructor = sock_edemux;
- 		if (sk->sk_state != TCP_TIME_WAIT) {
+ 		if (sk_fullsock(sk)) {
 -			struct dst_entry *dst = sk->sk_rx_dst;
 +			struct dst_entry *dst = READ_ONCE(sk->sk_rx_dst);
  
  			if (dst)
  				dst = dst_check(dst, inet6_sk(sk)->rx_dst_cookie);