2024-02-26 04:58:25

by Oliver Sang

[permalink] [raw]
Subject: [avpatel:riscv_aia_v15] [genirq/irqdomain] c3842e43d9: kernel_BUG_at_arch/x86/kernel/apic/io_apic.c



Hello,

kernel test robot noticed "kernel_BUG_at_arch/x86/kernel/apic/io_apic.c" on:

commit: c3842e43d9d6b013a40adaea274b663936b14e32 ("genirq/irqdomain: Don't call ops->select for DOMAIN_BUS_ANY tokens")
https://github.com/avpatel/linux.git riscv_aia_v15

in testcase: boot

compiler: gcc-12
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+----------------------------------------------+------------+------------+
| | b2f92d2cd4 | c3842e43d9 |
+----------------------------------------------+------------+------------+
| boot_successes | 9 | 0 |
| boot_failures | 0 | 9 |
| kernel_BUG_at_arch/x86/kernel/apic/io_apic.c | 0 | 9 |
| invalid_opcode:#[##] | 0 | 9 |
| RIP:setup_IO_APIC | 0 | 9 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 9 |
+----------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]


[ 1.220067][ T0] ------------[ cut here ]------------
[ 1.220987][ T0] kernel BUG at arch/x86/kernel/apic/io_apic.c:2405!
[ 1.222098][ T0] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
[ 1.223160][ T0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.8.0-rc5-00033-gc3842e43d9d6 #1
[ 1.224620][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 1.226289][ T0] RIP: 0010:setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.227203][ T0] Code: 2d 17 73 36 00 31 db 85 ed 7f 14 e9 ef 01 00 00 83 c3 01 39 1d 03 73 36 00 0f 8e e0 01 00 00 89 df e8 f6 42 1c fb 85 c0 74 e6 <0f> 0b 41 83 c5 01 44 3b 2d e5 72 36 00 0f 82 66 02 00 00 48 c7 c5
All code
========
0: 2d 17 73 36 00 sub $0x367317,%eax
5: 31 db xor %ebx,%ebx
7: 85 ed test %ebp,%ebp
9: 7f 14 jg 0x1f
b: e9 ef 01 00 00 jmpq 0x1ff
10: 83 c3 01 add $0x1,%ebx
13: 39 1d 03 73 36 00 cmp %ebx,0x367303(%rip) # 0x36731c
19: 0f 8e e0 01 00 00 jle 0x1ff
1f: 89 df mov %ebx,%edi
21: e8 f6 42 1c fb callq 0xfffffffffb1c431c
26: 85 c0 test %eax,%eax
28: 74 e6 je 0x10
2a:* 0f 0b ud2 <-- trapping instruction
2c: 41 83 c5 01 add $0x1,%r13d
30: 44 3b 2d e5 72 36 00 cmp 0x3672e5(%rip),%r13d # 0x36731c
37: 0f 82 66 02 00 00 jb 0x2a3
3d: 48 rex.W
3e: c7 .byte 0xc7
3f: c5 .byte 0xc5

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 41 83 c5 01 add $0x1,%r13d
6: 44 3b 2d e5 72 36 00 cmp 0x3672e5(%rip),%r13d # 0x3672f2
d: 0f 82 66 02 00 00 jb 0x279
13: 48 rex.W
14: c7 .byte 0xc7
15: c5 .byte 0xc5
[ 1.230283][ T0] RSP: 0000:ffffffffb3e07e98 EFLAGS: 00010286
[ 1.231291][ T0] RAX: 00000000ffffffed RBX: 0000000000000000 RCX: ffff88810c8500c0
[ 1.232610][ T0] RDX: 00000000ffffffed RSI: ffff88810ca0c200 RDI: ffff88810c841780
[ 1.233944][ T0] RBP: 0000000000000001 R08: ffff8883ace8de20 R09: ffffffffb0fdd404
[ 1.235267][ T0] R10: ffffffffb0fdd3b3 R11: ffffffffb0fdd404 R12: 0000000000000000
[ 1.236609][ T0] R13: 0000000000000000 R14: 0000000035646000 R15: 00000000000147b0
[ 1.237949][ T0] FS: 0000000000000000(0000) GS:ffff8883af200000(0000) knlGS:0000000000000000
[ 1.239398][ T0] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1.240513][ T0] CR2: ffff88843ffff000 CR3: 00000000a5a5a000 CR4: 00000000000000b0
[ 1.241853][ T0] Call Trace:
[ 1.242438][ T0] <TASK>
[ 1.243005][ T0] ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447)
[ 1.243705][ T0] ? do_trap (arch/x86/kernel/traps.c:113 arch/x86/kernel/traps.c:154)
[ 1.244426][ T0] ? setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.245268][ T0] ? do_error_trap (arch/x86/include/asm/traps.h:58 arch/x86/kernel/traps.c:175)
[ 1.246079][ T0] ? setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.246909][ T0] ? handle_invalid_op (arch/x86/kernel/traps.c:213)
[ 1.247760][ T0] ? setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.248554][ T0] ? exc_invalid_op (arch/x86/kernel/traps.c:266)
[ 1.249349][ T0] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:568)
[ 1.250213][ T0] ? kasan_save_track (arch/x86/include/asm/current.h:42 mm/kasan/common.c:60 mm/kasan/common.c:70)
[ 1.251056][ T0] ? kasan_save_stack (mm/kasan/common.c:48)
[ 1.251893][ T0] ? kasan_save_track (arch/x86/include/asm/current.h:42 mm/kasan/common.c:60 mm/kasan/common.c:70)
[ 1.252737][ T0] ? setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.253552][ T0] ? setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405)
[ 1.254346][ T0] ? enable_IO_APIC (arch/x86/kernel/apic/io_apic.c:572 arch/x86/kernel/apic/io_apic.c:1413)
[ 1.255189][ T0] apic_intr_mode_init (arch/x86/kernel/apic/apic.c:1408)
[ 1.256061][ T0] x86_late_time_init (arch/x86/kernel/time.c:101)
[ 1.256906][ T0] start_kernel (init/main.c:1036)
[ 1.257727][ T0] x86_64_start_reservations (arch/x86/kernel/head64.c:543)
[ 1.258620][ T0] x86_64_start_kernel (arch/x86/kernel/head64.c:485 (discriminator 17))
[ 1.259475][ T0] secondary_startup_64_no_verify (arch/x86/kernel/head_64.S:461)
[ 1.260492][ T0] </TASK>
[ 1.261046][ T0] Modules linked in:
[ 1.261762][ T0] ---[ end trace 0000000000000000 ]---
[ 1.262672][ T0] RIP: 0010:setup_IO_APIC (arch/x86/kernel/apic/io_apic.c:2405 (discriminator 1))
[ 1.263554][ T0] Code: 2d 17 73 36 00 31 db 85 ed 7f 14 e9 ef 01 00 00 83 c3 01 39 1d 03 73 36 00 0f 8e e0 01 00 00 89 df e8 f6 42 1c fb 85 c0 74 e6 <0f> 0b 41 83 c5 01 44 3b 2d e5 72 36 00 0f 82 66 02 00 00 48 c7 c5
All code
========
0: 2d 17 73 36 00 sub $0x367317,%eax
5: 31 db xor %ebx,%ebx
7: 85 ed test %ebp,%ebp
9: 7f 14 jg 0x1f
b: e9 ef 01 00 00 jmpq 0x1ff
10: 83 c3 01 add $0x1,%ebx
13: 39 1d 03 73 36 00 cmp %ebx,0x367303(%rip) # 0x36731c
19: 0f 8e e0 01 00 00 jle 0x1ff
1f: 89 df mov %ebx,%edi
21: e8 f6 42 1c fb callq 0xfffffffffb1c431c
26: 85 c0 test %eax,%eax
28: 74 e6 je 0x10
2a:* 0f 0b ud2 <-- trapping instruction
2c: 41 83 c5 01 add $0x1,%r13d
30: 44 3b 2d e5 72 36 00 cmp 0x3672e5(%rip),%r13d # 0x36731c
37: 0f 82 66 02 00 00 jb 0x2a3
3d: 48 rex.W
3e: c7 .byte 0xc7
3f: c5 .byte 0xc5

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 41 83 c5 01 add $0x1,%r13d
6: 44 3b 2d e5 72 36 00 cmp 0x3672e5(%rip),%r13d # 0x3672f2
d: 0f 82 66 02 00 00 jb 0x279
13: 48 rex.W
14: c7 .byte 0xc7
15: c5 .byte 0xc5


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240226/[email protected]



--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



2024-02-26 15:19:10

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [avpatel:riscv_aia_v15] [genirq/irqdomain] c3842e43d9: kernel_BUG_at_arch/x86/kernel/apic/io_apic.c

On Mon, Feb 26 2024 at 12:57, kernel test robot wrote:
> kernel test robot noticed "kernel_BUG_at_arch/x86/kernel/apic/io_apic.c" on:
>
> commit: c3842e43d9d6b013a40adaea274b663936b14e32 ("genirq/irqdomain: Don't call ops->select for DOMAIN_BUS_ANY tokens")
> https://github.com/avpatel/linux.git riscv_aia_v15

Fixed in

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/msi

with commit c147e1ef59d4 ("x86/apic/msi: Use DOMAIN_BUS_GENERIC_MSI for HPET/IO-APIC domain search")

Anup, please update your branch.

2024-02-26 17:45:12

by Anup Patel

[permalink] [raw]
Subject: Re: [avpatel:riscv_aia_v15] [genirq/irqdomain] c3842e43d9: kernel_BUG_at_arch/x86/kernel/apic/io_apic.c

On Mon, Feb 26, 2024 at 8:42 PM Thomas Gleixner <[email protected]> wrote:
>
> On Mon, Feb 26 2024 at 12:57, kernel test robot wrote:
> > kernel test robot noticed "kernel_BUG_at_arch/x86/kernel/apic/io_apic.c" on:
> >
> > commit: c3842e43d9d6b013a40adaea274b663936b14e32 ("genirq/irqdomain: Don't call ops->select for DOMAIN_BUS_ANY tokens")
> > https://github.com/avpatel/linux.git riscv_aia_v15
>
> Fixed in
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/msi
>
> with commit c147e1ef59d4 ("x86/apic/msi: Use DOMAIN_BUS_GENERIC_MSI for HPET/IO-APIC domain search")
>
> Anup, please update your branch.

Done, I have updated my branch.
(https://github.com/avpatel/linux/commits/riscv_aia_v15/)

Thanks,
Anup