lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 27 Oct 2022 15:08:53 +0000
From:   "Elliott, Robert (Servers)" <elliott@....com>
To:     Mateusz Jończyk <mat.jonczyk@...pl>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "x86@...nel.org" <x86@...nel.org>
CC:     Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
        Dave Hansen <dave.hansen@...ux.intel.com>,
        "H. Peter Anvin" <hpa@...or.com>, Johan Hovold <johan@...nel.org>,
        "Maciej W. Rozycki" <macro@...am.me.uk>,
        Yinghai Lu <yinghai@...nel.org>
Subject: RE: [PATCH v2 02/10] x86/apic: fix panic message when x2APIC is not
 supported



> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
...
> @@ -1902,7 +1902,7 @@ static int __init validate_x2apic(void)
>  	/*
>  	 * Checkme: Can we simply turn off x2apic here instead of panic?
>  	 */
> -	panic("BIOS has enabled x2apic but kernel doesn't support x2apic, please disable x2apic in BIOS.\n");
> +	panic("Kernel does not support x2APIC, please recompile with CONFIG_X86_X2APIC or disable x2APIC in BIOS.\n");

With a defconfig build (no CONFIG_X86_X2APIC) on a system with x2apic,
I noticed this triggers before ever getting to that panic() call:

    static void setup_local_APIC(void)
    ...
        /*
         * Double-check whether this APIC is really registered.
         * This is meaningless in clustered apic mode, so we skip it.
         */
        BUG_ON(!apic->apic_id_registered());

That was also reported in 2020:
    https://lkml.org/lkml/2020/2/21/1501

The BUG print is:
[    5.827523] APIC: Switch to symmetric I/O mode setup
[    5.832519] ------------[ cut here ]------------
[    5.837163] kernel BUG at arch/x86/kernel/apic/apic.c:1593!
[    5.842767] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
[    5.848009] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.0.0-rc1-14412-g34ab3d31f076 #1
[    5.855954] Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 03/08/2022
[    5.864508] RIP: 0010:setup_local_APIC+0x3aa/0x3c0
[    5.869317] Code: 02 0f 85 ca fe ff ff 85 d2 7f 26 48 8b 05 be 4d 62 01 be 00 07 01 00 bf 50 03 00 00 48 8b 40 10 e8 ab 51 fb 00 e9 c9 fe ff ff <0f> 0b e8 df 5f cb 00 e9 45 7f c5 00 66 2e 0f 1f 84 00 00 00 00 00
[    5.888156] RSP: 0000:ffffffffa6403e90 EFLAGS: 00010246
[    5.893398] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[    5.900555] RDX: 0000000000000000 RSI: 00000000fffffeff RDI: 0000000000000020
[    5.907712] RBP: ffffa2837ffea180 R08: 00000000ffffdfff R09: 00000000ffffdfff
[    5.914870] R10: ffffffffa6455f20 R11: ffffffffa6455f20 R12: ffffa2837ffea1c9
[    5.922027] R13: 0000000000000000 R14: ffffffffa6414120 R15: 000000009f1597b0
[    5.929185] FS:  0000000000000000(0000) GS:ffffa252c0000000(0000) knlGS:0000000000000000
[    5.937304] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.943067] CR2: ffffa2837fdff000 CR3: 00000028d320c001 CR4: 00000000000606f0
[    5.950225] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    5.957385] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    5.964543] Call Trace:
[    5.966994]  <TASK>
[    5.969097]  ? _printk+0x63/0x7e
[    5.972338]  apic_intr_mode_init+0xde/0xfc
[    5.976448]  x86_late_time_init+0x1b/0x2f
[    5.980471]  start_kernel+0x5db/0x69b
[    5.984143]  secondary_startup_64_no_verify+0xe0/0xeb
[    5.989213]  </TASK>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ