On Tue, 2017-11-28 at 09:48 -0500, David Miller wrote:
From: Eric Dumazet <redacted>
Date: Mon, 27 Nov 2017 20:00:52 -0800
quoted
@@ -368,9 +368,11 @@ static void __unregister_prot_hook(struct sock
*sk, bool sync)
quoted
__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.
Yes, I can submit a V2 with this idea implemented, thanks.