aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2013-03-22 11:46:42 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-04-02 00:23:50 +0200
commit4ebd288b69dcebde1adc5e4c21758ef6dfc7e06f (patch)
tree70d15755ccc3abea94de096e12b24cd99c2dc2b5 /net/netfilter
parentipvs: convert lblcr scheduler to rcu (diff)
downloadlinux-dev-4ebd288b69dcebde1adc5e4c21758ef6dfc7e06f.tar.xz
linux-dev-4ebd288b69dcebde1adc5e4c21758ef6dfc7e06f.zip
ipvs: convert lc scheduler to rcu
The schedule method now needs _rcu list-traversal primitive for svc->destinations. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/ipvs/ip_vs_lc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/ipvs/ip_vs_lc.c b/net/netfilter/ipvs/ip_vs_lc.c
index f391819c0cca..0cabf78fbc31 100644
--- a/net/netfilter/ipvs/ip_vs_lc.c
+++ b/net/netfilter/ipvs/ip_vs_lc.c
@@ -42,7 +42,7 @@ ip_vs_lc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb)
* served, but no new connection is assigned to the server.
*/
- list_for_each_entry(dest, &svc->destinations, n_list) {
+ list_for_each_entry_rcu(dest, &svc->destinations, n_list) {
if ((dest->flags & IP_VS_DEST_F_OVERLOAD) ||
atomic_read(&dest->weight) == 0)
continue;