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

From: Eric Dumazet
Date: Mon Jun 13 2016 - 23:12:19 EST


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 ?