[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1511882095.16595.14.camel@gmail.com>
Date: Tue, 28 Nov 2017 07:14:55 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org, fruggeri@...stanetworks.com,
willemb@...gle.com
Subject: Re: [PATCH net] net/packet: fix a race in packet_bind() and
packet_notifier()
On Tue, 2017-11-28 at 09:48 -0500, David Miller wrote:
> From: Eric Dumazet <eric.dumazet@...il.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.
Yes, I can submit a V2 with this idea implemented, thanks.
Powered by blists - more mailing lists