Re: [linus:master] [x86/sme] 48204aba80: BUG:kernel_failed_in_early-boot_stage,last_printk:Booting_the_kernel(entry_offset:#)

From: Oliver Sang
Date: Tue Mar 26 2024 - 04:31:52 EST


hi, Ard Biesheuvel,

On Mon, Mar 25, 2024 at 04:39:26PM +0200, Ard Biesheuvel wrote:
> On Sun, 24 Mar 2024 at 16:26, Borislav Petkov <bp@xxxxxxxxx> wrote:
> >
> > On Fri, Mar 22, 2024 at 05:03:18PM +0800, kernel test robot wrote:
> > >
> > >
> > > Hello,
> > >
> > > kernel test robot noticed "BUG:kernel_failed_in_early-boot_stage,last_printk:Booting_the_kernel(entry_offset:#)" on:
> > >
> > > commit: 48204aba801f1b512b3abed10b8e1a63e03f3dd1 ("x86/sme: Move early SME kernel encryption handling into .head.text")
> > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
> > >
> > > [test failed on linus/master 741e9d668aa50c91e4f681511ce0e408d55dd7ce]
> > > [test failed on linux-next/master a1e7655b77e3391b58ac28256789ea45b1685abb]
> > >
> > > in testcase: boot
> > >
> > > compiler: gcc-12
> > > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> >
> > My guest boots with your .config and SNB as CPU model:
> >
> > ...
> > [ 0.373770][ T1] smpboot: CPU0: Intel Xeon E312xx (Sandy Bridge) (family: 0x6, model: 0x2a, stepping: 0x1)
> >
> > Artefacts like:
> >
> > -initrd initrd-vm-meta-180.cgz
> >
> > or
> >
> > RESULT_ROOT=/result/boot/1/vm-snb/quantal-x86_64-core-20190426.cgz/x86_64-rhel-8.3-bpf/gcc-12/48204aba801f1b512b3abed10b8e1a63e03f3dd1/3
> >
> > I don't have and don't know how to generate here so I can't run your
> > exact reproducer.
> >
>
> I ran the reproducer using the instructions, and things seem to work fine.
>
> https://paste.debian.net/1311951/
>
> Could you provide any information regarding the QEMU version and its
> BIOS implementation?

for QEMU version:

$ qemu-system-x86_64 --version
QEMU emulator version 7.2.9 (Debian 1:7.2+dfsg-7+deb12u5)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers


for BIOS:

We don't specify bios option for qemu, my understanding is we just run with
default bios for qemu (the seabios). Extra info of seabios

SeaBios
QEMU, by default, uses a BIOS called SeaBios. It is a pretty good option and
most can be used with most bootloaders. 4 And naturally, every guest machine
is loaded with the SeaBios and you don't have to do anything. However,
you might want, or need, to use UEFI instead.