Re: INFO: trying to register non-static key in rhashtable_walk_enter

From: hujunwei
Date: Sun May 19 2019 - 20:49:18 EST




On 2019/5/19 4:12, David Miller wrote:
> From: Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx>
> Date: Sat, 18 May 2019 14:19:07 -0400
>
>> On Sat, May 18, 2019 at 2:09 PM Willem de Bruijn
>> <willemdebruijn.kernel@xxxxxxxxx> wrote:
>>>
>>> On Sat, May 18, 2019 at 3:34 AM syzbot
>>> <syzbot+1e8114b61079bfe9cbc5@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>>>
>>>> Hello,
>>>>
>>>> syzbot found the following crash on:
>>>>
>>>> HEAD commit: 510e2ced ipv6: fix src addr routing with the exception table
>>>> git tree: net
>>>> console output: https://syzkaller.appspot.com/x/log.txt?x=15b7e608a00000
>>>> kernel config: https://syzkaller.appspot.com/x/.config?x=82f0809e8f0a8c87
>>>> dashboard link: https://syzkaller.appspot.com/bug?extid=1e8114b61079bfe9cbc5
>>>> compiler: gcc (GCC) 9.0.0 20181231 (experimental)
>>>>
>>>> Unfortunately, I don't have any reproducer for this crash yet.
>>>>
>>>> IMPORTANT: if you fix the bug, please add the following tag to the commit:
>>>> Reported-by: syzbot+1e8114b61079bfe9cbc5@xxxxxxxxxxxxxxxxxxxxxxxxx
>>>>
>>>> INFO: trying to register non-static key.
>>>> the code is fine but needs lockdep annotation.
>>>
>>> All these five rhashtable_walk_enter probably have the same root cause.
>>>
>>> Bisected to commit 7e27e8d6130c (" tipc: switch order of device
>>> registration to fix a crash"). Reverting that fixes it.
>>>
>>> Before the commit, tipc_init succeeds. After the commit it fails at
>>> register_pernet_subsys(&tipc_net_ops) due to error in
>>>
>>> tipc_init_net
>>> tipc_topsrv_start
>>> tipc_topsrv_create_listener
>>> sock_create_kern
>>>
>>> On a related note, in tipc_topsrv_start srv is also not freed on later
>>> error paths.
>>
>> and tipc_topsrv_stop is not called in tipc_init_net on later error paths.
>
> This was gonna get fixed by:
>
> 532b0f7ece4cb2ffd24dc723ddf55242d1188e5e
> tipc: fix modprobe tipc failed after switch order of device registration
>
> I think...
>
> But I reverted because they were still fiddling around with the fix.
>
> This looks really bad at this point and I'm likely to revert 7e27e8d6130c
> because it creates so many more bugs than it fixes :-////
>
> .
>
Hi, David
I am really sorry for this, just as you said, this bug fixed by:
532b0f7ece4cb2ffd24dc723ddf55242d1188e5e
tipc: fix modprobe tipc failed after switch order of device registration.

I verified the patch v2 works fine, inclue use namespaces together.
I will update syzbot report in patch v3.

Regards,
Junwei