From: Herbert Xu Date: Tue, 23 Sep 2008 02:48:19 +0000 (-0700) Subject: ipsec: Fix xfrm_state_walk race X-Git-Tag: v2.6.28-rc1~717^2~230 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c1824587f0797373c95719a196f6098f7c6d20c;p=pandora-kernel.git 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 Signed-off-by: David S. Miller --- Reading git-diff-tree failed