Re: x86_64: 5.6.0: locking/lockdep.c:1155 lockdep_register_key

From: Cong Wang
Date: Fri Apr 10 2020 - 16:50:59 EST


On Tue, Apr 7, 2020 at 2:58 AM Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
>
> On Linux mainline kernel 5.6.0 running kselftest on i386 kernel running on
> x86_64 devices we have noticed this kernel warning.
>
> [ 0.000000] Linux version 5.6.0 (oe-user@oe-host) (gcc version 7.3.0
> (GCC)) #1 SMP Mon Apr 6 17:31:22 UTC 2020
> <>
> [ 143.321511] ------------[ cut here ]------------
> [ 143.326180] WARNING: CPU: 1 PID: 1515 at
> /usr/src/kernel/kernel/locking/lockdep.c:1155
> lockdep_register_key+0x150/0x180
> [ 143.336958] Modules linked in: sch_ingress veth algif_hash
> x86_pkg_temp_thermal fuse
> [ 143.344698] CPU: 1 PID: 1515 Comm: ip Tainted: G W 5.6.0 #1
> [ 143.351562] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> [ 143.359034] EIP: lockdep_register_key+0x150/0x180
> [ 143.363739] Code: ff ff a1 88 4c 2a dc 85 c0 0f 85 ef fe ff ff 68
> 27 02 f9 db 68 a5 7a f7 db e8 0c 5b fa ff 0f 0b 59 58 e9 d7 fe ff ff
> 8d 76 00 <0f> 0b 8d 65 f8 5b 5e 5d c3 8d b4 26 00 00 00 00 89 c2 b8 68
> 68 99
> [ 143.382485] EAX: 00000001 EBX: dc329ea8 ECX: 00000001 EDX: dc3299a8
> [ 143.388751] ESI: 00000001 EDI: c7316000 EBP: c610fe10 ESP: c610fe08
> [ 143.395014] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010202
> [ 143.401792] CR0: 80050033 CR2: b7dd70c0 CR3: 20672000 CR4: 003406d0
> [ 143.408051] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
> [ 143.414315] DR6: fffe0ff0 DR7: 00000400
> [ 143.418144] Call Trace:
> [ 143.420592] alloc_netdev_mqs+0xc6/0x3c0

This is odd, the warning complains a lockdep key is static, but
all of the 3 lockdep keys in netdev_register_lockdep_key() are
dynamic. I don't see how this warning could happen.

Thanks.