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

From: Stephen Rothwell <[email-masked]>
Date: Thu, 10 Jul 2008 14:02:12 +1000

Hi Dave,

Today's linux-next merge of the net tree got a conflict in
net/netfilter/nf_conntrack_proto_tcp.c between commit
6b69fe0c73c0f5a8dacf8f889db3cc9adee53649 ("netfilter: nf_conntrack_tcp:
fix endless loop") from the net-current tree and commit
51091764f26ec36c02e35166f083193a30f426fc ("netfilter: nf_conntrack: add
nf_ct_kill()") from the net tree.

Not a simple fixup.  I did what I thought was right, please check.

The conflict was in tcp_packet() and looked like this:

		if (((ct->proto.tcp.seen[dir].flags
		      | ct->proto.tcp.seen[!dir].flags)
		     & IP_CT_TCP_FLAG_CLOSE_INIT)
		    || (ct->proto.tcp.last_dir == dir
		        && ct->proto.tcp.last_index == TCP_RST_SET)) {
			/* Attempt to reopen a closed/aborted connection.
			 * Delete this connection and look up again. */
			write_unlock_bh(&tcp_lock);
<<<<<<< HEAD:net/netfilter/nf_conntrack_proto_tcp.c
			/* Only repeat if we can actually remove the timer.
			 * Destruction may already be in progress in process
			 * context and we must give it a chance to terminate.
			 */
			if (del_timer(&ct->timeout)) {
				ct->timeout.function((unsigned long)ct);
				return -NF_REPEAT;
			}
			return -NF_DROP;
=======
			nf_ct_kill(ct);
			return -NF_REPEAT;
>>>>>>> net/master:net/netfilter/nf_conntrack_proto_tcp.c
		}
		/* Fall through */
	case TCP_CONNTRACK_IGNORE:

I used the HEAD version.  You may need to return a value from nf_ct_kill()
indicating if the timer was deleted to fix this properly.

-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/