Messages in this thread | | | From | Cong Wang <> | Date | Sun, 5 Feb 2017 22:32:24 -0800 | Subject | Re: net: deadlock on genl_mutex |
| |
On Sun, Jan 29, 2017 at 2:11 AM, Dmitry Vyukov <dvyukov@google.com> wrote: > On Fri, Dec 9, 2016 at 6:08 AM, Cong Wang <xiyou.wangcong@gmail.com> wrote: >>>> Chain exists of: >>>> Possible unsafe locking scenario: >>>> >>>> CPU0 CPU1 >>>> ---- ---- >>>> lock(genl_mutex); >>>> lock(nlk->cb_mutex); >>>> lock(genl_mutex); >>>> lock(rtnl_mutex); >>>> >>>> *** DEADLOCK *** >>> >>> This one looks legitimate, because nlk->cb_mutex could be rtnl_mutex. >>> Let me think about it. >> >> Never mind. Actually both reports in this thread are legitimate. >> >> I know what happened now, the lock chain is so long, 4 locks are involved >> to form a chain!!! >> >> Let me think about how to break the chain. > > > Cong, any success with breaking the chain?
No luck yet. Each part of the chain seems legit, not sure which one could be reordered. :-/
| |