aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_policy.c
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2008-11-25 20:21:01 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-25 20:21:01 -0500
commit50a30657fd7ee77a94a6bf0ad86eba7c37c3032e (patch)
tree7eb9165881b9082588eb2c373e9ed2ebc013321e /net/xfrm/xfrm_policy.c
parentc78371441c0d957f54c9f8a35b3ee5a378d14808 (diff)
netns xfrm: per-netns km_waitq
Disallow spurious wakeups in __xfrm_lookup(). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r--net/xfrm/xfrm_policy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 8e7671b9e76e..cf2bf3aa7ab4 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1691,11 +1691,11 @@ restart:
1691 if (err == -EAGAIN && (flags & XFRM_LOOKUP_WAIT)) { 1691 if (err == -EAGAIN && (flags & XFRM_LOOKUP_WAIT)) {
1692 DECLARE_WAITQUEUE(wait, current); 1692 DECLARE_WAITQUEUE(wait, current);
1693 1693
1694 add_wait_queue(&km_waitq, &wait); 1694 add_wait_queue(&init_net.xfrm.km_waitq, &wait);
1695 set_current_state(TASK_INTERRUPTIBLE); 1695 set_current_state(TASK_INTERRUPTIBLE);
1696 schedule(); 1696 schedule();
1697 set_current_state(TASK_RUNNING); 1697 set_current_state(TASK_RUNNING);
1698 remove_wait_queue(&km_waitq, &wait); 1698 remove_wait_queue(&init_net.xfrm.km_waitq, &wait);
1699 1699
1700 nx = xfrm_tmpl_resolve(pols, npols, fl, xfrm, family); 1700 nx = xfrm_tmpl_resolve(pols, npols, fl, xfrm, family);
1701 1701