diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-03 01:03:39 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-09-08 04:44:29 -0700 |
commit | 464f8f4932d128a3e80402ec85d7c40c1f5e6899 (patch) | |
tree | 6dd7dad513ecfcafc7bb77a896d08e4b5d202fd6 /net/lapb/lapb_timer.c | |
parent | ff134d489673b3d678d313e8dddae24c05eb0291 (diff) |
ipsec: Fix deadlock in xfrm_state management.
[ Upstream commit 37b08e34a98c664bea86e3fae718ac45a46b7276 ]
Ever since commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3
("[XFRM]: Speed up xfrm_policy and xfrm_state walking") it is
illegal to call __xfrm_state_destroy (and thus xfrm_state_put())
with xfrm_state_lock held. If we do, we'll deadlock since we
have the lock already and __xfrm_state_destroy() tries to take
it again.
Fix this by pushing the xfrm_state_put() calls after the lock
is dropped.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions