From: Eric Dumazet <[email protected]> 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.
