Re: BUG: sleeping function called from invalid context at include/linux/percpu-rwsem.h:49

From: Heiner Kallweit
Date: Fri Mar 27 2020 - 05:46:18 EST


On 27.03.2020 09:46, Hillf Danton wrote:
>
> On Fri, 27 Mar 2020 00:56:34 +0100 Heiner Kallweit wrote:
>>
>> I just got the following on linux-next from March 25th. You dealt last with
>> include/linux/percpu-rwsem.h, so you may have an idea where to look for the
>> root cause.
>>
>>
>> Mar 26 23:29:51 zotac kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000
>> Mar 26 23:29:51 zotac kernel: #PF: supervisor read access in kernel mode
>> Mar 26 23:29:51 zotac kernel: #PF: error_code(0x0000) - not-present page
>> Mar 26 23:29:51 zotac kernel: PGD 0 P4D 0
>> Mar 26 23:29:51 zotac kernel: Oops: 0000 [#1] SMP
>> Mar 26 23:29:51 zotac kernel: CPU: 2 PID: 2404 Comm: resolvconf Not tainted 5.6.0-rc7-next-20200325+ #1
>> Mar 26 23:29:51 zotac kernel: Hardware name: NA ZBOX-CI327NANO-GS-01/ZBOX-CI327NANO-GS-01, BIOS 5.12 04/26/2018
>> Mar 26 23:29:51 zotac kernel: RIP: 0010:link_path_walk.part.0+0x1c5/0x350
>> Mar 26 23:29:51 zotac kernel: Code: 41 83 ef 01 31 f6 4c 89 f7 49 63 c7 48 8d 04 40 48 c1 e0 04 49 03 46 58 4c 8b 68 20 e8 84 fc ff ff 48 85 c0 75 5f 49 8b 46 08 <8b> 00 25 00 00 70 00 3d 00 00 20 00 0f 84 a5 fe ff ff 41 f6 46 38
>> Mar 26 23:29:51 zotac kernel: RSP: 0018:ffffb272403c7ba8 EFLAGS: 00010246
>> Mar 26 23:29:51 zotac kernel: RAX: 0000000000000000 RBX: fefefefefefefeff RCX: 0000000000000000
>> Mar 26 23:29:51 zotac kernel: RDX: ffff9f21bab88000 RSI: ffffffffbea46aa0 RDI: ffff9f21bab88858
>> Mar 26 23:29:51 zotac kernel: RBP: ffffb272403c7bf0 R08: 0000000000000001 R09: 0000000000000000
>> Mar 26 23:29:51 zotac kernel: R10: 80800000007fffff R11: 0000000000000000 R12: 2f2f2f2f2f2f2f2f
>> Mar 26 23:29:51 zotac kernel: R13: ffff9f21b9476243 R14: ffffb272403c7c30 R15: 0000000000000001
>> Mar 26 23:29:51 zotac kernel: FS: 00007f464ebc8b80(0000) GS:ffff9f21bbd00000(0000) knlGS:0000000000000000
>> Mar 26 23:29:51 zotac kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> Mar 26 23:29:51 zotac kernel: CR2: 0000000000000000 CR3: 0000000178b7d000 CR4: 00000000003406e0
>> Mar 26 23:29:51 zotac kernel: Call Trace:
>> Mar 26 23:29:51 zotac kernel: path_lookupat.isra.0+0x3b/0x150
>> Mar 26 23:29:51 zotac kernel: filename_lookup+0xb4/0x140
>> Mar 26 23:29:51 zotac kernel: ? rcu_read_lock_sched_held+0x4a/0x80
>> Mar 26 23:29:51 zotac kernel: ? kmem_cache_alloc+0x24c/0x280
>> Mar 26 23:29:51 zotac kernel: kern_path+0x31/0x40
>> Mar 26 23:29:51 zotac kernel: unix_find_other+0x4f/0x2b0
>> Mar 26 23:29:51 zotac kernel: unix_stream_connect+0x115/0x6c4
>> Mar 26 23:29:51 zotac kernel: __sys_connect+0xec/0x110
>> Mar 26 23:29:51 zotac kernel: ? lockdep_hardirqs_on+0xf2/0x1a0
>> Mar 26 23:29:51 zotac kernel: __x64_sys_connect+0x19/0x20
>> Mar 26 23:29:51 zotac kernel: do_syscall_64+0x50/0x1e0
>> Mar 26 23:29:51 zotac kernel: entry_SYSCALL_64_after_hwframe+0x49/0xb3
>
> FYI: another null-ptr-deref was reported at
>
> https://lore.kernel.org/lkml/4CBDE0F3-FB73-43F3-8535-6C75BA004233@xxxxxx/
>
> and fix in that thread.
>
Thanks for the quick feedback and the hint!

Heiner