summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ipvs/ip_vs_conn.c
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2005-07-13 12:15:43 -0700
committerTony Luck <tony.luck@intel.com>2005-07-13 12:15:43 -0700
commit99ad25a313bda566a346b46a6015afa65bc0a02b (patch)
treeb9443fed1ab74f320c4ee0791864ee96d7c069df /net/ipv4/ipvs/ip_vs_conn.c
parentf62c4a96f74d6c6dd56d1742697e94a5c2085e87 (diff)
parent9a556e89081b0c1c2f83cee915363b15a68a6f2d (diff)
downloadkernel-crypto-99ad25a313bda566a346b46a6015afa65bc0a02b.tar.gz
kernel-crypto-99ad25a313bda566a346b46a6015afa65bc0a02b.tar.xz
kernel-crypto-99ad25a313bda566a346b46a6015afa65bc0a02b.zip
Auto merge with /home/aegl/GIT/linus
Diffstat (limited to 'net/ipv4/ipvs/ip_vs_conn.c')
-rw-r--r--net/ipv4/ipvs/ip_vs_conn.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/ipvs/ip_vs_conn.c b/net/ipv4/ipvs/ip_vs_conn.c
index 9f16ab30910..d0145a8b155 100644
--- a/net/ipv4/ipvs/ip_vs_conn.c
+++ b/net/ipv4/ipvs/ip_vs_conn.c
@@ -758,7 +758,7 @@ static inline int todrop_entry(struct ip_vs_conn *cp)
return 1;
}
-
+/* Called from keventd and must protect itself from softirqs */
void ip_vs_random_dropentry(void)
{
int idx;
@@ -773,7 +773,7 @@ void ip_vs_random_dropentry(void)
/*
* Lock is actually needed in this loop.
*/
- ct_write_lock(hash);
+ ct_write_lock_bh(hash);
list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) {
if (!cp->cport && !(cp->flags & IP_VS_CONN_F_NO_CPORT))
@@ -806,7 +806,7 @@ void ip_vs_random_dropentry(void)
ip_vs_conn_expire_now(cp->control);
}
}
- ct_write_unlock(hash);
+ ct_write_unlock_bh(hash);
}
}