[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1465868613-26146-5-git-send-email-quentin@armitage.org.uk>
Date: Tue, 14 Jun 2016 02:43:32 +0100
From: Quentin Armitage <quentin@...itage.org.uk>
To: Wensong Zhang <wensong@...ux-vs.org>,
Simon Horman <horms@...ge.net.au>,
Julian Anastasov <ja@....bg>,
Pablo Neira Ayuso <pablo@...filter.org>,
Patrick McHardy <kaber@...sh.net>,
Jozsef Kadlecsik <kadlec@...ckhole.kfki.hu>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
lvs-devel@...r.kernel.org, netfilter-devel@...r.kernel.org,
coreteam@...filter.org, linux-kernel@...r.kernel.org
Cc: Quentin Armitage <quentin@...itage.org.uk>
Subject: [PATCH 4/5] ipvs: Lock socket before setting SK_CAN_REUSE
When other settings are changed in the socket it is locked, so
lock the socket before setting SK_CAN_REUSE.
Signed-off-by: Quentin Armitage <quentin@...itage.org.uk>
---
net/netfilter/ipvs/ip_vs_sync.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 29d73d8..dfac9ef 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/net/netfilter/ipvs/ip_vs_sync.c
@@ -1540,7 +1540,9 @@ static struct socket *make_receive_sock(struct netns_ipvs *ipvs, int id, int ifi
}
/* it is equivalent to the REUSEADDR option in user-space */
+ lock_sock(sock->sk);
sock->sk->sk_reuse = SK_CAN_REUSE;
+ release_sock(sock->sk);
result = sysctl_sync_sock_size(ipvs);
if (result > 0)
set_sock_size(sock->sk, 0, result);
--
1.7.7.6
Powered by blists - more mailing lists