From: Eric Dumazet <eric.duma...@gmail.com>
Date: Mon, 27 Nov 2017 20:00:52 -0800

> @@ -368,9 +368,11 @@ static void __unregister_prot_hook(struct sock *sk, bool 
> sync)
>       __sock_put(sk);
>  
>       if (sync) {
> +             po->frozen = 1;
>               spin_unlock(&po->bind_lock);
>               synchronize_net();
>               spin_lock(&po->bind_lock);
> +             po->frozen = 0;
>       }
>  }
>  

Ugh.

Maybe you can just set po->num to zero in the bind code path which causes
this problem.  That will prevent this situation entirely.

Reply via email to