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.