LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH 4/5] ipvs: Lock socket before setting SK_CAN_REUSE

To: Quentin Armitage <quentin@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 4/5] ipvs: Lock socket before setting SK_CAN_REUSE
Cc: Wensong Zhang <wensong@xxxxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>, Patrick McHardy <kaber@xxxxxxxxx>, Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date: Mon, 13 Jun 2016 20:12:04 -0700
On Tue, 2016-06-14 at 02:43 +0100, Quentin Armitage wrote:
> 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@xxxxxxxxxxxxxxx>
> ---
>  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);


Have you tested this patch ?



--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>