From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423673AbcFNByW (ORCPT ); Mon, 13 Jun 2016 21:54:22 -0400 Received: from rslrsmtp2.opaltelecom.net ([62.24.128.202]:16134 "EHLO iprslrsmtp2msp.cpwnetworks.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1161306AbcFNByQ (ORCPT ); Mon, 13 Jun 2016 21:54:16 -0400 X-Greylist: delayed 597 seconds by postgrey-1.27 at vger.kernel.org; Mon, 13 Jun 2016 21:54:15 EDT X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CoBAAeYV9X//6AGD5UCB6Ec7kjhAiGFwKBfwEBAQEBAWYnhEwCBCdSEEARVwYBEog0ulkBAQEHAiWPEoV9BZhijipkiF+FXEiPJwJUg29tiggBAQE X-IPAS-Result: A2CoBAAeYV9X//6AGD5UCB6Ec7kjhAiGFwKBfwEBAQEBAWYnhEwCBCdSEEARVwYBEog0ulkBAQEHAiWPEoV9BZhijipkiF+FXEiPJwJUg29tiggBAQE X-IronPort-AV: E=Sophos;i="5.26,469,1459810800"; d="scan'208";a="738753148" From: Quentin Armitage To: Wensong Zhang , Simon Horman , Julian Anastasov , Pablo Neira Ayuso , Patrick McHardy , Jozsef Kadlecsik , "David S. Miller" , netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, linux-kernel@vger.kernel.org Cc: Quentin Armitage Subject: [PATCH 4/5] ipvs: Lock socket before setting SK_CAN_REUSE Date: Tue, 14 Jun 2016 02:43:32 +0100 Message-Id: <1465868613-26146-5-git-send-email-quentin@armitage.org.uk> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <1465868613-26146-1-git-send-email-quentin@armitage.org.uk> References: <1465868613-26146-1-git-send-email-quentin@armitage.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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