On Mon, 2018-04-02 at 11:01 -0700, Cong Wang wrote: > After commit 581319c58600 ("net/socket: use per af lockdep classes for sk > queues") > sock queue locks now have per-af lockdep classes, including unix socket. > It is no longer necessary to workaround it. > > I noticed this while looking at a syzbot deadlock report, this patch > itself doesn't fix it (this is why I don't add Reported-by). > > Fixes: 581319c58600 ("net/socket: use per af lockdep classes for sk queues") > Cc: Paolo Abeni <pab...@redhat.com> > Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com> > --- > net/unix/af_unix.c | 10 ---------- > 1 file changed, 10 deletions(-) > > diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c > index 2d465bdeccbc..45971e173924 100644 > --- a/net/unix/af_unix.c > +++ b/net/unix/af_unix.c > @@ -745,14 +745,6 @@ static struct proto unix_proto = { > .obj_size = sizeof(struct unix_sock), > }; > > -/* > - * AF_UNIX sockets do not interact with hardware, hence they > - * dont trigger interrupts - so it's safe for them to have > - * bh-unsafe locking for their sk_receive_queue.lock. Split off > - * this special lock-class by reinitializing the spinlock key: > - */ > -static struct lock_class_key af_unix_sk_receive_queue_lock_key; > - > static struct sock *unix_create1(struct net *net, struct socket *sock, int > kern) > { > struct sock *sk = NULL; > @@ -767,8 +759,6 @@ static struct sock *unix_create1(struct net *net, struct > socket *sock, int kern) > goto out; > > sock_init_data(sock, sk); > - lockdep_set_class(&sk->sk_receive_queue.lock, > - &af_unix_sk_receive_queue_lock_key); > > sk->sk_allocation = GFP_KERNEL_ACCOUNT; > sk->sk_write_space = unix_write_space;
LGTM Acked-by: Paolo Abeni <pab...@redhat.com>