OpenCloudOS-Kernel/net/xfrm
Herbert Xu 5c1824587f ipsec: Fix xfrm_state_walk race
As discovered by Timo Teräs, the currently xfrm_state_walk scheme
is racy because if a second dump finishes before the first, we
may free xfrm states that the first dump would walk over later.

This patch fixes this by storing the dumps in a list in order
to calculate the correct completion counter which cures this
problem.

I've expanded netlink_cb in order to accomodate the extra state
related to this.  It shouldn't be a big deal since netlink_cb
is kmalloced for each dump and we're just increasing it by 4 or
8 bytes.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-22 19:48:19 -07:00
..
Kconfig ipsec: ipcomp - Merge IPComp implementations 2008-07-25 02:54:40 -07:00
Makefile ipsec: ipcomp - Merge IPComp implementations 2008-07-25 02:54:40 -07:00
xfrm_algo.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
xfrm_hash.c [IPSEC]: kmalloc + memset conversion to kzalloc 2008-01-28 14:55:05 -08:00
xfrm_hash.h [XFRM] STATE: Use destination address for src hash. 2006-10-04 00:31:02 -07:00
xfrm_input.c [IPSEC]: Fix inter address family IPsec tunnel handling. 2008-03-24 14:51:51 -07:00
xfrm_ipcomp.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
xfrm_output.c xfrm: remove unnecessary variable in xfrm_output_resume() 2nd try 2008-08-13 13:35:37 -07:00
xfrm_policy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-09-09 19:28:03 -07:00
xfrm_proc.c [XFRM]: Fix statistics. 2008-01-31 19:28:30 -08:00
xfrm_state.c ipsec: Fix xfrm_state_walk race 2008-09-22 19:48:19 -07:00
xfrm_user.c xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info 2008-07-10 16:55:37 -07:00