mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 09:59:32 +00:00
ipvs: Cache ipvs in ip_vs_genl_set_cmd
Compute ipvs early in ip_vs_genl_set_cmd and use the cached value to access ipvs->sync_state. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
parent
8e743f1b45
commit
cd58278bd4
1 changed files with 3 additions and 1 deletions
|
@ -3516,8 +3516,10 @@ static int ip_vs_genl_set_cmd(struct sk_buff *skb, struct genl_info *info)
|
|||
int ret = 0, cmd;
|
||||
int need_full_svc = 0, need_full_dest = 0;
|
||||
struct net *net;
|
||||
struct netns_ipvs *ipvs;
|
||||
|
||||
net = skb_sknet(skb);
|
||||
ipvs = net_ipvs(net);
|
||||
cmd = info->genlhdr->cmd;
|
||||
|
||||
mutex_lock(&__ip_vs_mutex);
|
||||
|
@ -3579,7 +3581,7 @@ static int ip_vs_genl_set_cmd(struct sk_buff *skb, struct genl_info *info)
|
|||
/* The synchronization protocol is incompatible
|
||||
* with mixed family services
|
||||
*/
|
||||
if (net_ipvs(net)->sync_state) {
|
||||
if (ipvs->sync_state) {
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue