Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

netfilter: ipt_CLUSTERIP: add parameter net in clusterip_config_find_get

Inorder to find clusterip_config in net namespace.

Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

authored by

Gao feng and committed by
Pablo Neira Ayuso
b5ef0f85 f1e8077f

+6 -6
+6 -6
net/ipv4/netfilter/ipt_CLUSTERIP.c
··· 122 122 } 123 123 124 124 static struct clusterip_config * 125 - __clusterip_config_find(__be32 clusterip) 125 + __clusterip_config_find(struct net *net, __be32 clusterip) 126 126 { 127 127 struct clusterip_config *c; 128 - struct clusterip_net *cn = net_generic(&init_net, clusterip_net_id); 128 + struct clusterip_net *cn = net_generic(net, clusterip_net_id); 129 129 130 130 list_for_each_entry_rcu(c, &cn->configs, list) { 131 131 if (c->clusterip == clusterip) ··· 136 136 } 137 137 138 138 static inline struct clusterip_config * 139 - clusterip_config_find_get(__be32 clusterip, int entry) 139 + clusterip_config_find_get(struct net *net, __be32 clusterip, int entry) 140 140 { 141 141 struct clusterip_config *c; 142 142 143 143 rcu_read_lock_bh(); 144 - c = __clusterip_config_find(clusterip); 144 + c = __clusterip_config_find(net, clusterip); 145 145 if (c) { 146 146 if (unlikely(!atomic_inc_not_zero(&c->refcount))) 147 147 c = NULL; ··· 381 381 382 382 /* FIXME: further sanity checks */ 383 383 384 - config = clusterip_config_find_get(e->ip.dst.s_addr, 1); 384 + config = clusterip_config_find_get(&init_net, e->ip.dst.s_addr, 1); 385 385 if (!config) { 386 386 if (!(cipinfo->flags & CLUSTERIP_FLAG_NEW)) { 387 387 pr_info("no config found for %pI4, need 'new'\n", ··· 519 519 520 520 /* if there is no clusterip configuration for the arp reply's 521 521 * source ip, we don't want to mangle it */ 522 - c = clusterip_config_find_get(payload->src_ip, 0); 522 + c = clusterip_config_find_get(&init_net, payload->src_ip, 0); 523 523 if (!c) 524 524 return NF_ACCEPT; 525 525