Skip to content

Commit bbb770e

Browse files
Alexey Dobriyandavem330
authored andcommitted
xfrm: Fix xfrm_policy_gc_lock handling.
From: Alexey Dobriyan <adobriyan@gmail.com> Based upon a lockdep trace by Simon Arlott. xfrm_policy_kill() can be called from both BH and non-BH contexts, so we have to grab xfrm_policy_gc_lock with BH disabling. Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 19ecb6b commit bbb770e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

net/xfrm/xfrm_policy.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,9 @@ static void xfrm_policy_kill(struct xfrm_policy *policy)
315315
return;
316316
}
317317

318-
spin_lock(&xfrm_policy_gc_lock);
318+
spin_lock_bh(&xfrm_policy_gc_lock);
319319
hlist_add_head(&policy->bydst, &xfrm_policy_gc_list);
320-
spin_unlock(&xfrm_policy_gc_lock);
320+
spin_unlock_bh(&xfrm_policy_gc_lock);
321321

322322
schedule_work(&xfrm_policy_gc_work);
323323
}

0 commit comments

Comments
 (0)