Rusty Russell
4acdbdbe50
[NETFILTER]: ip_conntrack_expect_related must not free expectation
...
If a connection tracking helper tells us to expect a connection, and
we're already expecting that connection, we simply free the one they
gave us and return success.
The problem is that NAT helpers (eg. FTP) have to allocate the
expectation first (to see what port is available) then rewrite the
packet. If that rewrite fails, they try to remove the expectation,
but it was freed in ip_conntrack_expect_related.
This is one example of a larger problem: having registered the
expectation, the pointer is no longer ours to use. Reference counting
is needed for ctnetlink anyway, so introduce it now.
To have a single "put" path, we need to grab the reference to the
connection on creation, rather than open-coding it in the caller.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-21 13:14:46 -07:00
..
802
[NET]: __be'ify *_type_trans()
2005-07-12 12:08:43 -07:00
8021q
[VLAN]: Fix early vlan adding leads to not functional device
2005-07-12 12:13:49 -07:00
appletalk
[ATALK] aarp: replace schedule_timeout() with msleep()
2005-06-22 22:11:44 -07:00
atm
[ATM]: Trivial spelling fix patch for net/Kconfig
2005-07-19 13:56:53 -07:00
ax25
bluetooth
[NET]: Transform skb_queue_len() binary tests into skb_queue_empty()
2005-07-08 14:57:23 -07:00
bridge
[NET]: BRIDGE_EBT_ARPREPLY must depend on INET
2005-07-19 14:00:13 -07:00
core
[NET]: Fix tc_verd thinko in skb_clone()
2005-07-19 14:13:54 -07:00
decnet
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
econet
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
ethernet
[NET]: __be'ify *_type_trans()
2005-07-12 12:08:43 -07:00
ipv4
[NETFILTER]: ip_conntrack_expect_related must not free expectation
2005-07-21 13:14:46 -07:00
ipv6
[NET]: Make ipip/ip6_tunnel independant of XFRM
2005-07-19 14:03:34 -07:00
ipx
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
irda
[NET]: Transform skb_queue_len() binary tests into skb_queue_empty()
2005-07-08 14:57:23 -07:00
key
[IPSEC]: Add XFRM_STATE_NOPMTUDISC flag
2005-06-20 13:21:43 -07:00
lapb
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
llc
[NET]: Transform skb_queue_len() binary tests into skb_queue_empty()
2005-07-08 14:57:23 -07:00
netlink
[NETLINK]: Fix "nocast type" warnings
2005-07-18 13:35:43 -07:00
netrom
packet
[NETFILTER]: Revert nf_reset change
2005-07-12 11:57:52 -07:00
rose
rxrpc
[PATCH] Cleanup patch for process freezing
2005-06-25 17:10:13 -07:00
sched
[EMATCH]: Kill TCF_META_ID_TCCLASSID reference from meta ematch as well.
2005-07-18 17:10:55 -07:00
sctp
[SCTP]: Fix potential null pointer dereference while handling an icmp error
2005-07-18 13:44:10 -07:00
sunrpc
[PATCH] coverity: sunrpc/xprt task null check
2005-07-07 18:23:47 -07:00
unix
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
wanrouter
[NET]: __be'ify *_type_trans()
2005-07-12 12:08:43 -07:00
x25
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
xfrm
[NET]: move config options out to individual protocols
2005-07-11 21:13:56 -07:00
compat.c
Kconfig
[NET]: Kconfig: NETCONSOLE and NETPOLL together
2005-07-18 13:45:12 -07:00
Makefile
nonet.c
socket.c
[NET]: dont use strlen() but the result from a prior sprintf()
2005-06-22 14:32:51 -07:00
sysctl_net.c
TUNABLE