From: Cong Wang <xiyou.wangc...@gmail.com>
Date: Mon,  8 Jun 2020 14:53:01 -0700

> The dynamic key update for addr_list_lock still causes troubles,
> for example the following race condition still exists:
> 
> CPU 0:                                CPU 1:
> (RCU read lock)                       (RTNL lock)
> dev_mc_seq_show()             netdev_update_lockdep_key()
>                                 -> lockdep_unregister_key()
>  -> netif_addr_lock_bh()
> 
> because lockdep doesn't provide an API to update it atomically.
> Therefore, we have to move it back to static keys and use subclass
> for nest locking like before.
> 
> In commit 1a33e10e4a95 ("net: partially revert dynamic lockdep key
> changes"), I already reverted most parts of commit ab92d68fc22f
> ("net: core: add generic lockdep keys").
> 
> This patch reverts the rest and also part of commit f3b0a18bb6cb
> ("net: remove unnecessary variables and callback"). After this
> patch, addr_list_lock changes back to using static keys and
> subclasses to satisfy lockdep. Thanks to dev->lower_level, we do
> not have to change back to ->ndo_get_lock_subclass().
> 
> And hopefully this reduces some syzbot lockdep noises too.
> 
> Reported-by: syzbot+f3a0e80c34b3fc28a...@syzkaller.appspotmail.com
> Cc: Taehee Yoo <ap420...@gmail.com>
> Cc: Dmitry Vyukov <dvyu...@google.com>
> Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com>

Ok, let's see how this goes.

Applied, thanks Cong.

Reply via email to