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 <quen...@armitage.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);


Have you tested this patch ?



Reply via email to