linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 5.6-### doesn't boot
@ 2020-01-30 17:32 Jörg Otte
  2020-01-30 18:07 ` Linus Torvalds
  0 siblings, 1 reply; 20+ messages in thread
From: Jörg Otte @ 2020-01-30 17:32 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel Mailing List

Hi,
my notebook doesn't boot with current kernel. Booting stops right after
displaying "loading initial ramdisk..". No further displays.
Also nothing is wriiten to the logs.

last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d

Thanks, Jörg

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: 5.6-### doesn't boot
  2020-01-30 17:32 5.6-### doesn't boot Jörg Otte
@ 2020-01-30 18:07 ` Linus Torvalds
  2020-01-30 18:22   ` Andy Lutomirski
  2020-01-31  6:43   ` Ingo Molnar
  0 siblings, 2 replies; 20+ messages in thread
From: Linus Torvalds @ 2020-01-30 18:07 UTC (permalink / raw)
  To: Jörg Otte, Ingo Molnar
  Cc: Linux Kernel Mailing List, the arch/x86 maintainers

On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
>
> my notebook doesn't boot with current kernel. Booting stops right after
> displaying "loading initial ramdisk..". No further displays.
> Also nothing is wriiten to the logs.
>
> last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d

It would be lovely if you can bisect a bit. But my merges in that
range are all from Ingo:

Ingo Molnar (7):
    header cleanup
    objtool updates
    RCU updates
    EFI updates
    locking updates
    perf updates
    scheduler updates

but not having any messages at all makes it hard to guess where it would be.

A few bisect runs would narrow it down a fair amount. Bisecting all
the way would be even better, of course,

            Linus

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: 5.6-### doesn't boot
  2020-01-30 18:07 ` Linus Torvalds
@ 2020-01-30 18:22   ` Andy Lutomirski
  2020-01-31  6:43   ` Ingo Molnar
  1 sibling, 0 replies; 20+ messages in thread
From: Andy Lutomirski @ 2020-01-30 18:22 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jörg Otte, Ingo Molnar, Linux Kernel Mailing List,
	the arch/x86 maintainers



> On Jan 30, 2020, at 10:08 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> 
> On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
>> 
>> my notebook doesn't boot with current kernel. Booting stops right after
>> displaying "loading initial ramdisk..". No further displays.
>> Also nothing is wriiten to the logs.
>> 
>> last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
>> first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> 
> It would be lovely if you can bisect a bit. But my merges in that
> range are all from Ingo:
> 
> Ingo Molnar (7):
>    header cleanup
>    objtool updates
>    RCU updates
>    EFI updates
>    locking updates
>    perf updates
>    scheduler updates
> 
> but not having any messages at all makes it hard to guess where it would be.
> 
> A few bisect runs would narrow it down a fair amount. Bisecting all
> the way would be even better, of course,
> 
> 

It would also be nice to know: are you EFI-booting or BIOS-booting?  And are you using EFI mixed mode?  (That is, are you booting a 64-bit kernel using 32-bit EFI?)

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: 5.6-### doesn't boot
  2020-01-30 18:07 ` Linus Torvalds
  2020-01-30 18:22   ` Andy Lutomirski
@ 2020-01-31  6:43   ` Ingo Molnar
  2020-01-31 10:35     ` Jörg Otte
  1 sibling, 1 reply; 20+ messages in thread
From: Ingo Molnar @ 2020-01-31  6:43 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jörg Otte, Linux Kernel Mailing List, the arch/x86 maintainers


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> >
> > my notebook doesn't boot with current kernel. Booting stops right after
> > displaying "loading initial ramdisk..". No further displays.
> > Also nothing is wriiten to the logs.
> >
> > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
>
> It would be lovely if you can bisect a bit. But my merges in that
> range are all from Ingo:
> 
> Ingo Molnar (7):
>     header cleanup
>     objtool updates
>     RCU updates
>     EFI updates
>     locking updates
>     perf updates
>     scheduler updates

If I had to guess then perhaps the EFI changes look the most dangerous 
ones from these trees - but in principle most of these trees could 
contain a boot crasher/hang bug.

> but not having any messages at all makes it hard to guess where it 
> would be.

To improve debug output:

Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to 
the boot options might improve the debug output:

  earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn 

So for example if the relevant kernel boot entry in grub.cfg looks like 
this:

  linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff

Then editing it to the following could in principle produce (much) more 
verbose boot output:

  linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff

If this produces more output than just "loading initial ramdisk..' then a 
photo of the hung screen would be sufficient, no need to transcribe it.

> A few bisect runs would narrow it down a fair amount. Bisecting all the 
> way would be even better, of course,

Agreed!

If compiling full kernels for bisections takes too long (for example 
because the .config is from a distro kernel) then running "make 
localmodconfig" to create a config tailored to the currently active 
modules will cut down significantly on build time.

Also, a warning: if the normal boot log contains spurious warnings then 
the new 'panic_on_warn' option will cause additional trouble on good 
kernels.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: 5.6-### doesn't boot
  2020-01-31  6:43   ` Ingo Molnar
@ 2020-01-31 10:35     ` Jörg Otte
  2020-01-31 18:36       ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Ingo Molnar
  0 siblings, 1 reply; 20+ messages in thread
From: Jörg Otte @ 2020-01-31 10:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, Linux Kernel Mailing List, the arch/x86 maintainers

Am Fr., 31. Jan. 2020 um 07:43 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
>
>
> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> > On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> > >
> > > my notebook doesn't boot with current kernel. Booting stops right after
> > > displaying "loading initial ramdisk..". No further displays.
> > > Also nothing is wriiten to the logs.
> > >
> > > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> >
> > It would be lovely if you can bisect a bit. But my merges in that
> > range are all from Ingo:
> >
> > Ingo Molnar (7):
> >     header cleanup
> >     objtool updates
> >     RCU updates
> >     EFI updates
> >     locking updates
> >     perf updates
> >     scheduler updates
>
> If I had to guess then perhaps the EFI changes look the most dangerous
> ones from these trees - but in principle most of these trees could
> contain a boot crasher/hang bug.
>
> > but not having any messages at all makes it hard to guess where it
> > would be.
>
> To improve debug output:
>
> Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to
> the boot options might improve the debug output:
>
>   earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn
>
> So for example if the relevant kernel boot entry in grub.cfg looks like
> this:
>
>   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff
>
> Then editing it to the following could in principle produce (much) more
> verbose boot output:
>
>   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff
>
> If this produces more output than just "loading initial ramdisk..' then a
> photo of the hung screen would be sufficient, no need to transcribe it.
>
> > A few bisect runs would narrow it down a fair amount. Bisecting all the
> > way would be even better, of course,
>
> Agreed!
>
> If compiling full kernels for bisections takes too long (for example
> because the .config is from a distro kernel) then running "make
> localmodconfig" to create a config tailored to the currently active
> modules will cut down significantly on build time.
>
> Also, a warning: if the normal boot log contains spurious warnings then
> the new 'panic_on_warn' option will cause additional trouble on good
> kernels.

It's bisected.
The first bad commit is :
1db91035d01aa8bfa2350c00ccb63d629b4041ad
efi: Add tracking for dynamically allocated memmaps

Unfortunately I can not revert because of compile errors!

In file included from /media/jojo/deftoshiba/kernel/linux/init/main.c:48:
/media/jojo/deftoshiba/kernel/linux/include/linux/efi.h:975:1: error:
version control conflict marker in file
<<<<<<< HEAD
^~~~~~~
/media/jojo/deftoshiba/kernel/linux/include/linux/efi.h:980:1: error:
version control conflict marker in file
=======
^~~~~~~
/media/jojo/deftoshiba/kernel/linux/include/linux/efi.h:982:1: error:
version control conflict marker in file
>>>>>>> parent of 1db91035d01a... efi: Add tracking for dynamically allocated memmaps


....

^ permalink raw reply	[flat|nested] 20+ messages in thread

* EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-01-31 10:35     ` Jörg Otte
@ 2020-01-31 18:36       ` Ingo Molnar
  2020-01-31 18:48         ` Dan Williams
                           ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Ingo Molnar @ 2020-01-31 18:36 UTC (permalink / raw)
  To: Jörg Otte, Dan Williams, Ard Biesheuvel
  Cc: Linus Torvalds, Linux Kernel Mailing List, the arch/x86 maintainers


(Cc:ed Dan and Ard)

* Jörg Otte <jrg.otte@gmail.com> wrote:

> Am Fr., 31. Jan. 2020 um 07:43 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
> >
> >
> > * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> > > On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> > > >
> > > > my notebook doesn't boot with current kernel. Booting stops right after
> > > > displaying "loading initial ramdisk..". No further displays.
> > > > Also nothing is wriiten to the logs.
> > > >
> > > > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > > > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> > >
> > > It would be lovely if you can bisect a bit. But my merges in that
> > > range are all from Ingo:
> > >
> > > Ingo Molnar (7):
> > >     header cleanup
> > >     objtool updates
> > >     RCU updates
> > >     EFI updates
> > >     locking updates
> > >     perf updates
> > >     scheduler updates
> >
> > If I had to guess then perhaps the EFI changes look the most dangerous
> > ones from these trees - but in principle most of these trees could
> > contain a boot crasher/hang bug.
> >
> > > but not having any messages at all makes it hard to guess where it
> > > would be.
> >
> > To improve debug output:
> >
> > Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to
> > the boot options might improve the debug output:
> >
> >   earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn
> >
> > So for example if the relevant kernel boot entry in grub.cfg looks like
> > this:
> >
> >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff
> >
> > Then editing it to the following could in principle produce (much) more
> > verbose boot output:
> >
> >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff
> >
> > If this produces more output than just "loading initial ramdisk..' then a
> > photo of the hung screen would be sufficient, no need to transcribe it.
> >
> > > A few bisect runs would narrow it down a fair amount. Bisecting all the
> > > way would be even better, of course,
> >
> > Agreed!
> >
> > If compiling full kernels for bisections takes too long (for example
> > because the .config is from a distro kernel) then running "make
> > localmodconfig" to create a config tailored to the currently active
> > modules will cut down significantly on build time.
> >
> > Also, a warning: if the normal boot log contains spurious warnings then
> > the new 'panic_on_warn' option will cause additional trouble on good
> > kernels.
> 
> It's bisected.
> The first bad commit is :
> 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> efi: Add tracking for dynamically allocated memmaps

Thanks a ton, that's very useful!

I've Cc:-ed the EFI gents who are developing this code, maybe they'll 
spot the bug.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-01-31 18:36       ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Ingo Molnar
@ 2020-01-31 18:48         ` Dan Williams
  2020-02-01 15:35           ` Jörg Otte
  2020-02-01  9:45         ` [TEST PATCH RFC] Revert the EFI leak fixes for now (was: Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)) Ingo Molnar
       [not found]         ` <CAKv+Gu-oPrM7oh-oTbpQsUmXcYvp9KxjXFb3DUGk__qu59rdBQ@mail.gmail.com>
  2 siblings, 1 reply; 20+ messages in thread
From: Dan Williams @ 2020-01-31 18:48 UTC (permalink / raw)
  To: Jörg Otte
  Cc: Ard Biesheuvel, Linus Torvalds, Linux Kernel Mailing List,
	the arch/x86 maintainers, Ingo Molnar

On Fri, Jan 31, 2020 at 10:37 AM Ingo Molnar <mingo@kernel.org> wrote:
>
>
> (Cc:ed Dan and Ard)
>
> * Jörg Otte <jrg.otte@gmail.com> wrote:
>
> > Am Fr., 31. Jan. 2020 um 07:43 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
> > >
> > >
> > > * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > >
> > > > On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> > > > >
> > > > > my notebook doesn't boot with current kernel. Booting stops right after
> > > > > displaying "loading initial ramdisk..". No further displays.
> > > > > Also nothing is wriiten to the logs.
> > > > >
> > > > > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > > > > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> > > >
> > > > It would be lovely if you can bisect a bit. But my merges in that
> > > > range are all from Ingo:
> > > >
> > > > Ingo Molnar (7):
> > > >     header cleanup
> > > >     objtool updates
> > > >     RCU updates
> > > >     EFI updates
> > > >     locking updates
> > > >     perf updates
> > > >     scheduler updates
> > >
> > > If I had to guess then perhaps the EFI changes look the most dangerous
> > > ones from these trees - but in principle most of these trees could
> > > contain a boot crasher/hang bug.
> > >
> > > > but not having any messages at all makes it hard to guess where it
> > > > would be.
> > >
> > > To improve debug output:
> > >
> > > Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to
> > > the boot options might improve the debug output:
> > >
> > >   earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn
> > >
> > > So for example if the relevant kernel boot entry in grub.cfg looks like
> > > this:
> > >
> > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff
> > >
> > > Then editing it to the following could in principle produce (much) more
> > > verbose boot output:
> > >
> > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff
> > >
> > > If this produces more output than just "loading initial ramdisk..' then a
> > > photo of the hung screen would be sufficient, no need to transcribe it.
> > >
> > > > A few bisect runs would narrow it down a fair amount. Bisecting all the
> > > > way would be even better, of course,
> > >
> > > Agreed!
> > >
> > > If compiling full kernels for bisections takes too long (for example
> > > because the .config is from a distro kernel) then running "make
> > > localmodconfig" to create a config tailored to the currently active
> > > modules will cut down significantly on build time.
> > >
> > > Also, a warning: if the normal boot log contains spurious warnings then
> > > the new 'panic_on_warn' option will cause additional trouble on good
> > > kernels.
> >
> > It's bisected.
> > The first bad commit is :
> > 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> > efi: Add tracking for dynamically allocated memmaps
>
> Thanks a ton, that's very useful!
>
> I've Cc:-ed the EFI gents who are developing this code, maybe they'll
> spot the bug.

I'll take a look. Jörg, can you paste a full dmesg from a good boot?

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [TEST PATCH RFC] Revert the EFI leak fixes for now (was: Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot))
  2020-01-31 18:36       ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Ingo Molnar
  2020-01-31 18:48         ` Dan Williams
@ 2020-02-01  9:45         ` Ingo Molnar
  2020-02-01 16:23           ` Dan Williams
       [not found]         ` <CAKv+Gu-oPrM7oh-oTbpQsUmXcYvp9KxjXFb3DUGk__qu59rdBQ@mail.gmail.com>
  2 siblings, 1 reply; 20+ messages in thread
From: Ingo Molnar @ 2020-02-01  9:45 UTC (permalink / raw)
  To: Jörg Otte, Dan Williams, Ard Biesheuvel
  Cc: Linus Torvalds, Linux Kernel Mailing List, the arch/x86 maintainers



Jörg Otte wrote:

> It's bisected.
> The first bad commit is :
> 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> efi: Add tracking for dynamically allocated memmaps

> Unfortunately I can not revert because of compile errors!
>
> In file included from /media/jojo/deftoshiba/kernel/linux/init/main.c:48:
> /media/jojo/deftoshiba/kernel/linux/include/linux/efi.h:975:1: error:
> version control conflict marker in file
> <<<<<<< HEAD

So 1db91035d0 doesn't revert cleanly, because 484a418d0754 depends on it, 
plus there a third commit (f0ef6523475f) that has a semantic dependency 
on 1db91035d01a.

But you can revert them all, if done in reverse chronological order:

  git revert f0ef6523475f # ("efi: Fix efi_memmap_alloc() leaks")
  git revert 484a418d0754 # ("efi: Fix handling of multiple efi_fake_mem= entries")
  git revert 1db91035d01a # ("efi: Add tracking for dynamically allocated memmaps")

You can paste those three lines into a shell as-is, or you can apply the 
patch below which is a combination of these three reverts.

Jörg, can you confirm that doing these reverts fixes booting on your 
system? If it does then a full dmesg from that kernel would be useful.

FWIW I reviewed the bisected commit and didn't find the bug but I also 
couldn't convince myself it's a 1:1 identity transformation and cleanup 
of the existing logic.

The size arithmethics transformation looks correct at first sight, but 
the data->flags handling in particular looks rather interwoven.

Thanks,

	Ingo

============================>

 arch/x86/platform/efi/efi.c     | 10 ++----
 arch/x86/platform/efi/quirks.c  | 23 +++++++------
 drivers/firmware/efi/fake_mem.c | 43 ++++++++++++------------
 drivers/firmware/efi/memmap.c   | 72 ++++++++++++-----------------------------
 include/linux/efi.h             | 13 +++-----
 5 files changed, 63 insertions(+), 98 deletions(-)

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 59f7f6d60cf6..4e46d2d24352 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -304,16 +304,10 @@ static void __init efi_clean_memmap(void)
 	}
 
 	if (n_removal > 0) {
-		struct efi_memory_map_data data = {
-			.phys_map = efi.memmap.phys_map,
-			.desc_version = efi.memmap.desc_version,
-			.desc_size = efi.memmap.desc_size,
-			.size = data.desc_size * (efi.memmap.nr_map - n_removal),
-			.flags = 0,
-		};
+		u64 size = efi.memmap.nr_map - n_removal;
 
 		pr_warn("Removing %d invalid memory map entries.\n", n_removal);
-		efi_memmap_install(&data);
+		efi_memmap_install(efi.memmap.phys_map, size);
 	}
 }
 
diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
index 88d32c06cffa..86b44289ac55 100644
--- a/arch/x86/platform/efi/quirks.c
+++ b/arch/x86/platform/efi/quirks.c
@@ -244,7 +244,7 @@ EXPORT_SYMBOL_GPL(efi_query_variable_store);
  */
 void __init efi_arch_mem_reserve(phys_addr_t addr, u64 size)
 {
-	struct efi_memory_map_data data = { 0 };
+	phys_addr_t new_phys, new_size;
 	struct efi_mem_range mr;
 	efi_memory_desc_t md;
 	int num_entries;
@@ -272,21 +272,24 @@ void __init efi_arch_mem_reserve(phys_addr_t addr, u64 size)
 	num_entries = efi_memmap_split_count(&md, &mr.range);
 	num_entries += efi.memmap.nr_map;
 
-	if (efi_memmap_alloc(num_entries, &data) != 0) {
+	new_size = efi.memmap.desc_size * num_entries;
+
+	new_phys = efi_memmap_alloc(num_entries);
+	if (!new_phys) {
 		pr_err("Could not allocate boot services memmap\n");
 		return;
 	}
 
-	new = early_memremap(data.phys_map, data.size);
+	new = early_memremap(new_phys, new_size);
 	if (!new) {
 		pr_err("Failed to map new boot services memmap\n");
 		return;
 	}
 
 	efi_memmap_insert(&efi.memmap, new, &mr);
-	early_memunmap(new, data.size);
+	early_memunmap(new, new_size);
 
-	efi_memmap_install(&data);
+	efi_memmap_install(new_phys, num_entries);
 	e820__range_update(addr, size, E820_TYPE_RAM, E820_TYPE_RESERVED);
 	e820__update_table(e820_table);
 }
@@ -405,7 +408,7 @@ static void __init efi_unmap_pages(efi_memory_desc_t *md)
 
 void __init efi_free_boot_services(void)
 {
-	struct efi_memory_map_data data = { 0 };
+	phys_addr_t new_phys, new_size;
 	efi_memory_desc_t *md;
 	int num_entries = 0;
 	void *new, *new_md;
@@ -460,12 +463,14 @@ void __init efi_free_boot_services(void)
 	if (!num_entries)
 		return;
 
-	if (efi_memmap_alloc(num_entries, &data) != 0) {
+	new_size = efi.memmap.desc_size * num_entries;
+	new_phys = efi_memmap_alloc(num_entries);
+	if (!new_phys) {
 		pr_err("Failed to allocate new EFI memmap\n");
 		return;
 	}
 
-	new = memremap(data.phys_map, data.size, MEMREMAP_WB);
+	new = memremap(new_phys, new_size, MEMREMAP_WB);
 	if (!new) {
 		pr_err("Failed to map new EFI memmap\n");
 		return;
@@ -489,7 +494,7 @@ void __init efi_free_boot_services(void)
 
 	memunmap(new);
 
-	if (efi_memmap_install(&data) != 0) {
+	if (efi_memmap_install(new_phys, num_entries)) {
 		pr_err("Could not install new EFI memmap\n");
 		return;
 	}
diff --git a/drivers/firmware/efi/fake_mem.c b/drivers/firmware/efi/fake_mem.c
index 6e0f34a38171..bb9fc70d0cfa 100644
--- a/drivers/firmware/efi/fake_mem.c
+++ b/drivers/firmware/efi/fake_mem.c
@@ -34,45 +34,46 @@ static int __init cmp_fake_mem(const void *x1, const void *x2)
 	return 0;
 }
 
-static void __init efi_fake_range(struct efi_mem_range *efi_range)
+void __init efi_fake_memmap(void)
 {
-	struct efi_memory_map_data data = { 0 };
 	int new_nr_map = efi.memmap.nr_map;
 	efi_memory_desc_t *md;
+	phys_addr_t new_memmap_phy;
 	void *new_memmap;
+	int i;
+
+	if (!efi_enabled(EFI_MEMMAP) || !nr_fake_mem)
+		return;
 
 	/* count up the number of EFI memory descriptor */
-	for_each_efi_memory_desc(md)
-		new_nr_map += efi_memmap_split_count(md, &efi_range->range);
+	for (i = 0; i < nr_fake_mem; i++) {
+		for_each_efi_memory_desc(md) {
+			struct range *r = &efi_fake_mems[i].range;
+
+			new_nr_map += efi_memmap_split_count(md, r);
+		}
+	}
 
 	/* allocate memory for new EFI memmap */
-	if (efi_memmap_alloc(new_nr_map, &data) != 0)
+	new_memmap_phy = efi_memmap_alloc(new_nr_map);
+	if (!new_memmap_phy)
 		return;
 
 	/* create new EFI memmap */
-	new_memmap = early_memremap(data.phys_map, data.size);
+	new_memmap = early_memremap(new_memmap_phy,
+				    efi.memmap.desc_size * new_nr_map);
 	if (!new_memmap) {
-		__efi_memmap_free(data.phys_map, data.size, data.flags);
+		memblock_free(new_memmap_phy, efi.memmap.desc_size * new_nr_map);
 		return;
 	}
 
-	efi_memmap_insert(&efi.memmap, new_memmap, efi_range);
+	for (i = 0; i < nr_fake_mem; i++)
+		efi_memmap_insert(&efi.memmap, new_memmap, &efi_fake_mems[i]);
 
 	/* swap into new EFI memmap */
-	early_memunmap(new_memmap, data.size);
-
-	efi_memmap_install(&data);
-}
-
-void __init efi_fake_memmap(void)
-{
-	int i;
+	early_memunmap(new_memmap, efi.memmap.desc_size * new_nr_map);
 
-	if (!efi_enabled(EFI_MEMMAP) || !nr_fake_mem)
-		return;
-
-	for (i = 0; i < nr_fake_mem; i++)
-		efi_fake_range(&efi_fake_mems[i]);
+	efi_memmap_install(new_memmap_phy, new_nr_map);
 
 	/* print new EFI memmap */
 	efi_print_memmap();
diff --git a/drivers/firmware/efi/memmap.c b/drivers/firmware/efi/memmap.c
index 2ff1883dc788..4f98eb12c172 100644
--- a/drivers/firmware/efi/memmap.c
+++ b/drivers/firmware/efi/memmap.c
@@ -29,32 +29,9 @@ static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size)
 	return PFN_PHYS(page_to_pfn(p));
 }
 
-void __init __efi_memmap_free(u64 phys, unsigned long size, unsigned long flags)
-{
-	if (flags & EFI_MEMMAP_MEMBLOCK) {
-		if (slab_is_available())
-			memblock_free_late(phys, size);
-		else
-			memblock_free(phys, size);
-	} else if (flags & EFI_MEMMAP_SLAB) {
-		struct page *p = pfn_to_page(PHYS_PFN(phys));
-		unsigned int order = get_order(size);
-
-		free_pages((unsigned long) page_address(p), order);
-	}
-}
-
-static void __init efi_memmap_free(void)
-{
-	__efi_memmap_free(efi.memmap.phys_map,
-			efi.memmap.desc_size * efi.memmap.nr_map,
-			efi.memmap.flags);
-}
-
 /**
  * efi_memmap_alloc - Allocate memory for the EFI memory map
  * @num_entries: Number of entries in the allocated map.
- * @data: efi memmap installation parameters
  *
  * Depending on whether mm_init() has already been invoked or not,
  * either memblock or "normal" page allocation is used.
@@ -62,29 +39,14 @@ static void __init efi_memmap_free(void)
  * Returns the physical address of the allocated memory map on
  * success, zero on failure.
  */
-int __init efi_memmap_alloc(unsigned int num_entries,
-		struct efi_memory_map_data *data)
+phys_addr_t __init efi_memmap_alloc(unsigned int num_entries)
 {
-	/* Expect allocation parameters are zero initialized */
-	WARN_ON(data->phys_map || data->size);
-
-	data->size = num_entries * efi.memmap.desc_size;
-	data->desc_version = efi.memmap.desc_version;
-	data->desc_size = efi.memmap.desc_size;
-	data->flags &= ~(EFI_MEMMAP_SLAB | EFI_MEMMAP_MEMBLOCK);
-	data->flags |= efi.memmap.flags & EFI_MEMMAP_LATE;
-
-	if (slab_is_available()) {
-		data->flags |= EFI_MEMMAP_SLAB;
-		data->phys_map = __efi_memmap_alloc_late(data->size);
-	} else {
-		data->flags |= EFI_MEMMAP_MEMBLOCK;
-		data->phys_map = __efi_memmap_alloc_early(data->size);
-	}
+	unsigned long size = num_entries * efi.memmap.desc_size;
 
-	if (!data->phys_map)
-		return -ENOMEM;
-	return 0;
+	if (slab_is_available())
+		return __efi_memmap_alloc_late(size);
+
+	return __efi_memmap_alloc_early(size);
 }
 
 /**
@@ -102,7 +64,8 @@ int __init efi_memmap_alloc(unsigned int num_entries,
  *
  * Returns zero on success, a negative error code on failure.
  */
-static int __init __efi_memmap_init(struct efi_memory_map_data *data)
+static int __init
+__efi_memmap_init(struct efi_memory_map_data *data)
 {
 	struct efi_memory_map map;
 	phys_addr_t phys_map;
@@ -122,9 +85,6 @@ static int __init __efi_memmap_init(struct efi_memory_map_data *data)
 		return -ENOMEM;
 	}
 
-	/* NOP if data->flags & (EFI_MEMMAP_MEMBLOCK | EFI_MEMMAP_SLAB) == 0 */
-	efi_memmap_free();
-
 	map.phys_map = data->phys_map;
 	map.nr_map = data->size / data->desc_size;
 	map.map_end = map.map + data->size;
@@ -224,7 +184,8 @@ int __init efi_memmap_init_late(phys_addr_t addr, unsigned long size)
 
 /**
  * efi_memmap_install - Install a new EFI memory map in efi.memmap
- * @ctx: map allocation parameters (address, size, flags)
+ * @addr: Physical address of the memory map
+ * @nr_map: Number of entries in the memory map
  *
  * Unlike efi_memmap_init_*(), this function does not allow the caller
  * to switch from early to late mappings. It simply uses the existing
@@ -232,11 +193,20 @@ int __init efi_memmap_init_late(phys_addr_t addr, unsigned long size)
  *
  * Returns zero on success, a negative error code on failure.
  */
-int __init efi_memmap_install(struct efi_memory_map_data *data)
+int __init efi_memmap_install(phys_addr_t addr, unsigned int nr_map)
 {
+	struct efi_memory_map_data data;
+	unsigned long flags;
+
 	efi_memmap_unmap();
 
-	return __efi_memmap_init(data);
+	data.phys_map = addr;
+	data.size = efi.memmap.desc_size * nr_map;
+	data.desc_version = efi.memmap.desc_version;
+	data.desc_size = efi.memmap.desc_size;
+	data.flags = efi.memmap.flags & EFI_MEMMAP_LATE;
+
+	return __efi_memmap_init(&data);
 }
 
 /**
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 7efd7072cca5..f117d68c314e 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -759,8 +759,8 @@ typedef union {
 
 /*
  * Architecture independent structure for describing a memory map for the
- * benefit of efi_memmap_init_early(), and for passing context between
- * efi_memmap_alloc() and efi_memmap_install().
+ * benefit of efi_memmap_init_early(), saving us the need to pass four
+ * parameters.
  */
 struct efi_memory_map_data {
 	phys_addr_t phys_map;
@@ -778,8 +778,6 @@ struct efi_memory_map {
 	unsigned long desc_version;
 	unsigned long desc_size;
 #define EFI_MEMMAP_LATE (1UL << 0)
-#define EFI_MEMMAP_MEMBLOCK (1UL << 1)
-#define EFI_MEMMAP_SLAB (1UL << 2)
 	unsigned long flags;
 };
 
@@ -974,14 +972,11 @@ static inline efi_status_t efi_query_variable_store(u32 attributes,
 #endif
 extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr);
 
-extern int __init efi_memmap_alloc(unsigned int num_entries,
-				   struct efi_memory_map_data *data);
-extern void __efi_memmap_free(u64 phys, unsigned long size,
-			      unsigned long flags);
+extern phys_addr_t __init efi_memmap_alloc(unsigned int num_entries);
 extern int __init efi_memmap_init_early(struct efi_memory_map_data *data);
 extern int __init efi_memmap_init_late(phys_addr_t addr, unsigned long size);
 extern void __init efi_memmap_unmap(void);
-extern int __init efi_memmap_install(struct efi_memory_map_data *data);
+extern int __init efi_memmap_install(phys_addr_t addr, unsigned int nr_map);
 extern int __init efi_memmap_split_count(efi_memory_desc_t *md,
 					 struct range *range);
 extern void __init efi_memmap_insert(struct efi_memory_map *old_memmap,

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-01-31 18:48         ` Dan Williams
@ 2020-02-01 15:35           ` Jörg Otte
  2020-02-01 16:02             ` Ard Biesheuvel
  2020-02-01 21:29             ` Dan Williams
  0 siblings, 2 replies; 20+ messages in thread
From: Jörg Otte @ 2020-02-01 15:35 UTC (permalink / raw)
  To: Dan Williams
  Cc: Ard Biesheuvel, Linus Torvalds, Linux Kernel Mailing List,
	the arch/x86 maintainers, Ingo Molnar

[-- Attachment #1: Type: text/plain, Size: 3631 bytes --]

Am Fr., 31. Jan. 2020 um 19:48 Uhr schrieb Dan Williams
<dan.j.williams@intel.com>:
>
> On Fri, Jan 31, 2020 at 10:37 AM Ingo Molnar <mingo@kernel.org> wrote:
> >
> >
> > (Cc:ed Dan and Ard)
> >
> > * Jörg Otte <jrg.otte@gmail.com> wrote:
> >
> > > Am Fr., 31. Jan. 2020 um 07:43 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
> > > >
> > > >
> > > > * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > > >
> > > > > On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> > > > > >
> > > > > > my notebook doesn't boot with current kernel. Booting stops right after
> > > > > > displaying "loading initial ramdisk..". No further displays.
> > > > > > Also nothing is wriiten to the logs.
> > > > > >
> > > > > > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > > > > > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> > > > >
> > > > > It would be lovely if you can bisect a bit. But my merges in that
> > > > > range are all from Ingo:
> > > > >
> > > > > Ingo Molnar (7):
> > > > >     header cleanup
> > > > >     objtool updates
> > > > >     RCU updates
> > > > >     EFI updates
> > > > >     locking updates
> > > > >     perf updates
> > > > >     scheduler updates
> > > >
> > > > If I had to guess then perhaps the EFI changes look the most dangerous
> > > > ones from these trees - but in principle most of these trees could
> > > > contain a boot crasher/hang bug.
> > > >
> > > > > but not having any messages at all makes it hard to guess where it
> > > > > would be.
> > > >
> > > > To improve debug output:
> > > >
> > > > Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to
> > > > the boot options might improve the debug output:
> > > >
> > > >   earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn
> > > >
> > > > So for example if the relevant kernel boot entry in grub.cfg looks like
> > > > this:
> > > >
> > > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff
> > > >
> > > > Then editing it to the following could in principle produce (much) more
> > > > verbose boot output:
> > > >
> > > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff
> > > >
> > > > If this produces more output than just "loading initial ramdisk..' then a
> > > > photo of the hung screen would be sufficient, no need to transcribe it.
> > > >
> > > > > A few bisect runs would narrow it down a fair amount. Bisecting all the
> > > > > way would be even better, of course,
> > > >
> > > > Agreed!
> > > >
> > > > If compiling full kernels for bisections takes too long (for example
> > > > because the .config is from a distro kernel) then running "make
> > > > localmodconfig" to create a config tailored to the currently active
> > > > modules will cut down significantly on build time.
> > > >
> > > > Also, a warning: if the normal boot log contains spurious warnings then
> > > > the new 'panic_on_warn' option will cause additional trouble on good
> > > > kernels.
> > >
> > > It's bisected.
> > > The first bad commit is :
> > > 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> > > efi: Add tracking for dynamically allocated memmaps
> >
> > Thanks a ton, that's very useful!
> >
> > I've Cc:-ed the EFI gents who are developing this code, maybe they'll
> > spot the bug.
>
> I'll take a look. Jörg, can you paste a full dmesg from a good boot?

Here it is.

Thanks, Jörg

[-- Attachment #2: good-dmesg --]
[-- Type: application/octet-stream, Size: 50209 bytes --]

[    0.000000] microcode: microcode updated early to revision 0x27, date = 2019-02-26
[    0.000000] Linux version 5.5.0-00849-gb0be0eff1a5a (jojo@fichte) (gcc version 8.3.0 (Ubuntu 8.3.0-6ubuntu1~18.04.1)) #9 SMP Tue Jan 28 15:58:33 CET 2020
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.5.0-00849-gb0be0eff1a5a root=UUID=9e8cf5b2-8d9b-464c-870f-3ffc818ef7db ro quiet splash lsm=apparmor spectre_v2=auto acpi_mask_gpe=0x13 libata.noacpi=1 vt.handoff=1
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000059000-0x0000000000068fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000069000-0x000000000006bfff] reserved
[    0.000000] BIOS-e820: [mem 0x000000000006c000-0x000000000008bfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000008c000-0x00000000000bffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000895d4fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000895d5000-0x00000000897d6fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000897d7000-0x00000000db02efff] usable
[    0.000000] BIOS-e820: [mem 0x00000000db02f000-0x00000000db22efff] type 20
[    0.000000] BIOS-e820: [mem 0x00000000db22f000-0x00000000dce8efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000dce8f000-0x00000000dcf9efff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000dcf9f000-0x00000000dcffefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000dcfff000-0x00000000dcffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000dd000000-0x00000000df9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f80f8000-0x00000000f80f8fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000021f5fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v2.31 by Phoenix Technologies Ltd.
[    0.000000] efi:  ACPI=0xdcffe000  ACPI 2.0=0xdcffe014  SMBIOS=0xdce80000 
[    0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries:
[    0.000000] efi: mem48: [Reserved           |   |  |  |  |  |  |  |  |   |  |  |  |  ] range=[0x0000000000000000-0x0000000000000000] (invalid)
[    0.000000] efi: mem49: [Reserved           |   |  |  |  |  |  |  |  |   |  |  |  |  ] range=[0x0000000000000000-0x0000000000000000] (invalid)
[    0.000000] efi: mem50: [Reserved           |   |  |  |  |  |  |  |  |   |  |  |  |  ] range=[0x0000000000000000-0x0000000000000000] (invalid)
[    0.000000] efi: mem51: [Reserved           |   |  |  |  |  |  |  |  |   |  |  |  |  ] range=[0x0000000000000000-0x0000000000000000] (invalid)
[    0.000000] efi: mem52: [Reserved           |   |  |  |  |  |  |  |  |   |  |  |  |  ] range=[0x0000000000000000-0x0000000000000000] (invalid)
[    0.000000] efi: Removing 5 invalid memory map entries.
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: FUJITSU LIFEBOOK A544/FJNBB35 , BIOS Version 1.17 05/09/2014
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 2494.118 MHz processor
[    0.000008] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000009] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000014] last_pfn = 0x21f600 max_arch_pfn = 0x400000000
[    0.000017] MTRR default type: write-back
[    0.000018] MTRR fixed ranges enabled:
[    0.000019]   00000-9FFFF write-back
[    0.000019]   A0000-BFFFF uncachable
[    0.000020]   C0000-DFFFF write-through
[    0.000021]   E0000-FFFFF write-protect
[    0.000021] MTRR variable ranges enabled:
[    0.000022]   0 base 00E0000000 mask 7FE0000000 uncachable
[    0.000023]   1 base 00DE000000 mask 7FFE000000 uncachable
[    0.000023]   2 base 00DD000000 mask 7FFF000000 uncachable
[    0.000024]   3 disabled
[    0.000024]   4 disabled
[    0.000024]   5 disabled
[    0.000025]   6 disabled
[    0.000025]   7 disabled
[    0.000025]   8 disabled
[    0.000025]   9 disabled
[    0.000309] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.000381] last_pfn = 0xdd000 max_arch_pfn = 0x400000000
[    0.000395] Using GB pages for direct mapping
[    0.000396] BRK [0x202a01000, 0x202a01fff] PGTABLE
[    0.000398] BRK [0x202a02000, 0x202a02fff] PGTABLE
[    0.000398] BRK [0x202a03000, 0x202a03fff] PGTABLE
[    0.000429] BRK [0x202a04000, 0x202a04fff] PGTABLE
[    0.000430] BRK [0x202a05000, 0x202a05fff] PGTABLE
[    0.000567] BRK [0x202a06000, 0x202a06fff] PGTABLE
[    0.000592] BRK [0x202a07000, 0x202a07fff] PGTABLE
[    0.000621] BRK [0x202a08000, 0x202a08fff] PGTABLE
[    0.000652] BRK [0x202a09000, 0x202a09fff] PGTABLE
[    0.000684] BRK [0x202a0a000, 0x202a0afff] PGTABLE
[    0.000735] BRK [0x202a0b000, 0x202a0bfff] PGTABLE
[    0.000780] Secure boot could not be determined
[    0.000780] RAMDISK: [mem 0x36397000-0x371c2fff]
[    0.000784] ACPI: Early table checksum verification disabled
[    0.000786] ACPI: RSDP 0x00000000DCFFE014 000024 (v02 FUJ   )
[    0.000789] ACPI: XSDT 0x00000000DCFFE170 0000BC (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000793] ACPI: FACP 0x00000000DCFFA000 00010C (v05 FUJ    PC       00111000 FUJ  00000001)
[    0.000797] ACPI: DSDT 0x00000000DCFEB000 00BD62 (v02 FUJ    FJNBB35  00111000 INTL 20120711)
[    0.000799] ACPI: FACS 0x00000000DCF9B000 000040
[    0.000801] ACPI: SSDT 0x00000000DCFFD000 000880 (v01 FUJ    SataAhci 00000001 INTL 20120711)
[    0.000803] ACPI: ASF! 0x00000000DCFFC000 0000A5 (v32 FUJ    PC       00111000 FUJ  00000001)
[    0.000805] ACPI: HPET 0x00000000DCFF9000 000038 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000807] ACPI: APIC 0x00000000DCFF8000 000098 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000809] ACPI: MCFG 0x00000000DCFF7000 00003C (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000811] ACPI: SSDT 0x00000000DCFE8000 002028 (v01 FUJ    PtidDevc 00111000 INTL 20120711)
[    0.000813] ACPI: SSDT 0x00000000DCFE7000 000035 (v01 FUJ    Sata0Ide 00111000 INTL 20120711)
[    0.000815] ACPI: SSDT 0x00000000DCFE6000 000180 (v01 FUJ    Sata1Ide 00111000 INTL 20120711)
[    0.000817] ACPI: SSDT 0x00000000DCFE5000 000539 (v01 FUJ    Cpu0Ist  00111000 INTL 20120711)
[    0.000819] ACPI: SSDT 0x00000000DCFE4000 000AD8 (v01 FUJ    CpuPm    00111000 INTL 20120711)
[    0.000821] ACPI: SSDT 0x00000000DCFE0000 00341F (v01 FUJ    SaSsdt   00111000 INTL 20120711)
[    0.000823] ACPI: UEFI 0x00000000DCFDF000 000042 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000825] ACPI: POAT 0x00000000DCF76000 000055 (v03 FUJ    PC       00111000 FUJ  00000001)
[    0.000827] ACPI: BATB 0x00000000DCFDE000 000046 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000829] ACPI: FPDT 0x00000000DCFDD000 000064 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000831] ACPI: SLIC 0x00000000DCFDC000 000176 (v01 FUJ    PC       01110000 FUJ  00000001)
[    0.000833] ACPI: UEFI 0x00000000DCFDB000 0002BA (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000835] ACPI: BGRT 0x00000000DCFDA000 000038 (v01 FUJ    PC       00111000 FUJ  00000001)
[    0.000841] ACPI: Local APIC address 0xfee00000
[    0.000855] Zone ranges:
[    0.000856]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000857]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.000858]   Normal   [mem 0x0000000100000000-0x000000021f5fffff]
[    0.000859] Movable zone start for each node
[    0.000859] Early memory node ranges
[    0.000860]   node   0: [mem 0x0000000000001000-0x0000000000057fff]
[    0.000860]   node   0: [mem 0x0000000000059000-0x0000000000068fff]
[    0.000861]   node   0: [mem 0x000000000006c000-0x000000000008bfff]
[    0.000861]   node   0: [mem 0x0000000000100000-0x00000000895d4fff]
[    0.000862]   node   0: [mem 0x00000000897d7000-0x00000000db02efff]
[    0.000863]   node   0: [mem 0x00000000dcfff000-0x00000000dcffffff]
[    0.000863]   node   0: [mem 0x0000000100000000-0x000000021f5fffff]
[    0.001063] Zeroed struct page in unavailable ranges: 21067 pages
[    0.001064] Initmem setup node 0 [mem 0x0000000000001000-0x000000021f5fffff]
[    0.001065] On node 0 totalpages: 2073525
[    0.001066]   DMA zone: 64 pages used for memmap
[    0.001066]   DMA zone: 70 pages reserved
[    0.001067]   DMA zone: 3975 pages, LIFO batch:0
[    0.001106]   DMA32 zone: 13945 pages used for memmap
[    0.001106]   DMA32 zone: 892462 pages, LIFO batch:63
[    0.012075]   Normal zone: 18392 pages used for memmap
[    0.012076]   Normal zone: 1177088 pages, LIFO batch:63
[    0.025729] Reserving Intel graphics memory at [mem 0xdda00000-0xdf9fffff]
[    0.025799] ACPI: PM-Timer IO Port: 0x1808
[    0.025800] ACPI: Local APIC address 0xfee00000
[    0.025806] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.025806] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.025816] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.025818] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.025819] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.025820] ACPI: IRQ0 used by override.
[    0.025821] ACPI: IRQ9 used by override.
[    0.025822] Using ACPI (MADT) for SMP configuration information
[    0.025823] ACPI: HPET id: 0x8086a301 base: 0xfed00000
[    0.025826] smpboot: 8 Processors exceeds NR_CPUS limit of 4
[    0.025826] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.025831] [mem 0xdfa00000-0xf80f7fff] available for PCI devices
[    0.025835] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.025838] setup_percpu: NR_CPUS:4 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1
[    0.026104] percpu: Embedded 44 pages/cpu s142232 r8192 d29800 u524288
[    0.026108] pcpu-alloc: s142232 r8192 d29800 u524288 alloc=1*2097152
[    0.026108] pcpu-alloc: [0] 0 1 2 3 
[    0.026121] Built 1 zonelists, mobility grouping on.  Total pages: 2041054
[    0.026122] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.5.0-00849-gb0be0eff1a5a root=UUID=9e8cf5b2-8d9b-464c-870f-3ffc818ef7db ro quiet splash lsm=apparmor spectre_v2=auto acpi_mask_gpe=0x13 libata.noacpi=1 vt.handoff=1
[    0.026941] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.027297] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.027332] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.061216] Memory: 7848264K/8294100K available (12290K kernel code, 481K rwdata, 3496K rodata, 920K init, 544K bss, 445836K reserved, 0K cma-reserved)
[    0.061316] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.061322] Kernel/User page tables isolation: enabled
[    0.061368] rcu: Hierarchical RCU implementation.
[    0.061369] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.061378] NR_IRQS: 4352, nr_irqs: 456, preallocated irqs: 16
[    0.061602] random: get_random_bytes called from start_kernel+0x2f6/0x4b2 with crng_init=0
[    0.061620] Console: colour dummy device 80x25
[    0.061625] printk: console [tty0] enabled
[    0.061628] ACPI: Core revision 20200110
[    0.061765] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns
[    0.061778] APIC: Switch to symmetric I/O mode setup
[    0.062159] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.081779] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x23f38549f16, max_idle_ns: 440795259171 ns
[    0.081783] Calibrating delay loop (skipped), value calculated using timer frequency.. 4988.23 BogoMIPS (lpj=9976472)
[    0.081785] pid_max: default: 32768 minimum: 301
[    0.090725] LSM: Security Framework initializing
[    0.090746] AppArmor: AppArmor initialized
[    0.090778] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.090800] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.090813] *** VALIDATE tmpfs ***
[    0.090921] *** VALIDATE proc ***
[    0.090961] *** VALIDATE cgroup1 ***
[    0.090963] *** VALIDATE cgroup2 ***
[    0.090999] mce: CPU0: Thermal monitoring enabled (TM1)
[    0.091010] process: using mwait in idle threads
[    0.091012] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 1024
[    0.091012] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 1024, 1GB 4
[    0.091015] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.091017] Spectre V2 : auto selected on command line.
[    0.091018] Spectre V2 : Mitigation: Full generic retpoline
[    0.091018] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.091019] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    0.091020] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[    0.091021] Spectre V2 : User space: Mitigation: STIBP via seccomp and prctl
[    0.091022] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
[    0.091024] MDS: Mitigation: Clear CPU buffers
[    0.091181] Freeing SMP alternatives memory: 36K
[    0.091327] TSC deadline timer enabled
[    0.091330] smpboot: CPU0: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz (family: 0x6, model: 0x3c, stepping: 0x3)
[    0.091401] Performance Events: PEBS fmt2+, Haswell events, 16-deep LBR, full-width counters, Intel PMU driver.
[    0.091418] ... version:                3
[    0.091419] ... bit width:              48
[    0.091419] ... generic registers:      4
[    0.091420] ... value mask:             0000ffffffffffff
[    0.091420] ... max period:             00007fffffffffff
[    0.091420] ... fixed-purpose events:   3
[    0.091421] ... event mask:             000000070000000f
[    0.091452] rcu: Hierarchical SRCU implementation.
[    0.091507] smp: Bringing up secondary CPUs ...
[    0.091561] x86: Booting SMP configuration:
[    0.091561] .... node  #0, CPUs:      #1
[    0.092505] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
[    0.092505]  #2 #3
[    0.092505] smp: Brought up 1 node, 4 CPUs
[    0.092505] smpboot: Max logical packages: 2
[    0.092505] smpboot: Total of 4 processors activated (19952.94 BogoMIPS)
[    0.093960] devtmpfs: initialized
[    0.093962] PM: Registering ACPI NVS region [mem 0xdce8f000-0xdcf9efff] (1114112 bytes)
[    0.093962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.093962] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.093962] thermal_sys: Registered thermal governor 'step_wise'
[    0.093962] thermal_sys: Registered thermal governor 'user_space'
[    0.093963] NET: Registered protocol family 16
[    0.094052] audit: initializing netlink subsys (disabled)
[    0.094060] audit: type=2000 audit(1580567367.032:1): state=initialized audit_enabled=0 res=1
[    0.094060] cpuidle: using governor menu
[    0.094060] ACPI: bus type PCI registered
[    0.094060] dca service started, version 1.12.1
[    0.094060] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.094060] PCI: not using MMCONFIG
[    0.094060] PCI: Using configuration type 1 for base access
[    0.094060] core: PMU erratum BJ122, BV98, HSD29 worked around, HT is on
[    0.094060] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.095091] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.095091] cryptd: max_cpu_qlen set to 1000
[    0.095091] ACPI: Added _OSI(Module Device)
[    0.095091] ACPI: Added _OSI(Processor Device)
[    0.095091] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.095091] ACPI: Added _OSI(Processor Aggregator Device)
[    0.095091] ACPI: Added _OSI(Linux-Dell-Video)
[    0.095091] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.095091] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.107383] ACPI: 8 ACPI AML tables successfully acquired and loaded
[    0.107383] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.107469] ACPI: Dynamic OEM Table Load:
[    0.107475] ACPI: SSDT 0xFFFF9FB0D6328C00 0003D3 (v01 FUJ    Cpu0Cst  00003001 INTL 20120711)
[    0.108216] ACPI: Dynamic OEM Table Load:
[    0.108221] ACPI: SSDT 0xFFFF9FB0D62CE800 0005AA (v01 PmRef  ApIst    00003000 INTL 20120711)
[    0.108986] ACPI: Dynamic OEM Table Load:
[    0.108990] ACPI: SSDT 0xFFFF9FB0D62C6800 000119 (v01 PmRef  ApCst    00003000 INTL 20120711)
[    0.110139] ACPI: EC: EC started
[    0.110140] ACPI: EC: interrupt blocked
[    0.110395] ACPI: \_SB_.PCI0.LPCB.H_EC: Used as first EC
[    0.110397] ACPI: \_SB_.PCI0.LPCB.H_EC: GPE=0x17, IRQ=-1, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.110398] ACPI: \_SB_.PCI0.LPCB.H_EC: Boot DSDT EC used to handle transactions
[    0.110399] ACPI: Interpreter enabled
[    0.110424] ACPI: (supports S0 S3 S5)
[    0.110425] ACPI: Using IOAPIC for interrupt routing
[    0.110446] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.110830] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in ACPI motherboard resources
[    0.110836] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.111037] ACPI: Masking GPE 0x13.
[    0.111052] ACPI: Enabled 8 GPEs in block 00 to 3F
[    0.117939] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.117943] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig Segments MSI HPX-Type3]
[    0.118067] acpi PNP0A08:00: _OSC failed (AE_ERROR)
[    0.118259] PCI host bridge to bus 0000:00
[    0.118261] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.118262] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.118263] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.118264] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff window]
[    0.118265] pci_bus 0000:00: root bus resource [mem 0xff700100-0xff7001ff window]
[    0.118266] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.118274] pci 0000:00:00.0: [8086:0c04] type 00 class 0x060000
[    0.118425] pci 0000:00:01.0: [8086:0c01] type 01 class 0x060400
[    0.118461] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.118631] pci 0000:00:02.0: [8086:0416] type 00 class 0x030000
[    0.118640] pci 0000:00:02.0: reg 0x10: [mem 0xf0000000-0xf03fffff 64bit]
[    0.118645] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.118649] pci 0000:00:02.0: reg 0x20: [io  0x4000-0x403f]
[    0.118792] pci 0000:00:03.0: [8086:0c0c] type 00 class 0x040300
[    0.118800] pci 0000:00:03.0: reg 0x10: [mem 0xf0710000-0xf0713fff 64bit]
[    0.118967] pci 0000:00:14.0: [8086:8c31] type 00 class 0x0c0330
[    0.118986] pci 0000:00:14.0: reg 0x10: [mem 0xf0700000-0xf070ffff 64bit]
[    0.119042] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.119178] pci 0000:00:16.0: [8086:8c3a] type 00 class 0x078000
[    0.119197] pci 0000:00:16.0: reg 0x10: [mem 0xf0719000-0xf071900f 64bit]
[    0.119256] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.119391] pci 0000:00:1b.0: [8086:8c20] type 00 class 0x040300
[    0.119408] pci 0000:00:1b.0: reg 0x10: [mem 0xf0714000-0xf0717fff 64bit]
[    0.119474] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.119608] pci 0000:00:1c.0: [8086:8c10] type 01 class 0x060400
[    0.119678] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.119847] pci 0000:00:1c.2: [8086:8c14] type 01 class 0x060400
[    0.119918] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.120085] pci 0000:00:1c.5: [8086:8c1a] type 01 class 0x060400
[    0.120156] pci 0000:00:1c.5: PME# supported from D0 D3hot D3cold
[    0.120324] pci 0000:00:1f.0: [8086:8c49] type 00 class 0x060100
[    0.120554] pci 0000:00:1f.2: [8086:8c03] type 00 class 0x010601
[    0.120569] pci 0000:00:1f.2: reg 0x10: [io  0x4088-0x408f]
[    0.120576] pci 0000:00:1f.2: reg 0x14: [io  0x4094-0x4097]
[    0.120583] pci 0000:00:1f.2: reg 0x18: [io  0x4080-0x4087]
[    0.120590] pci 0000:00:1f.2: reg 0x1c: [io  0x4090-0x4093]
[    0.120597] pci 0000:00:1f.2: reg 0x20: [io  0x4060-0x407f]
[    0.120604] pci 0000:00:1f.2: reg 0x24: [mem 0xf071c000-0xf071c7ff]
[    0.120638] pci 0000:00:1f.2: PME# supported from D3hot
[    0.120767] pci 0000:00:1f.3: [8086:8c22] type 00 class 0x0c0500
[    0.120783] pci 0000:00:1f.3: reg 0x10: [mem 0xf0718000-0xf07180ff 64bit]
[    0.120802] pci 0000:00:1f.3: reg 0x20: [io  0xefa0-0xefbf]
[    0.120949] pci 0000:00:1f.6: [8086:8c24] type 00 class 0x118000
[    0.120969] pci 0000:00:1f.6: reg 0x10: [mem 0xf071b000-0xf071bfff 64bit]
[    0.121159] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.121193] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    0.121265] pci 0000:03:00.0: [8086:08b1] type 00 class 0x028000
[    0.121337] pci 0000:03:00.0: reg 0x10: [mem 0xf0600000-0xf0601fff 64bit]
[    0.121599] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.121704] pci 0000:00:1c.2: PCI bridge to [bus 03]
[    0.121709] pci 0000:00:1c.2:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.121759] pci 0000:04:00.0: [10ec:8168] type 00 class 0x020000
[    0.121786] pci 0000:04:00.0: reg 0x10: [io  0x3000-0x30ff]
[    0.121814] pci 0000:04:00.0: reg 0x18: [mem 0xf0500000-0xf0500fff 64bit]
[    0.121831] pci 0000:04:00.0: reg 0x20: [mem 0xf0400000-0xf0403fff 64bit pref]
[    0.121926] pci 0000:04:00.0: supports D1 D2
[    0.121927] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.122000] pci 0000:00:1c.5: PCI bridge to [bus 04]
[    0.122003] pci 0000:00:1c.5:   bridge window [io  0x3000-0x3fff]
[    0.122006] pci 0000:00:1c.5:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.122011] pci 0000:00:1c.5:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.122029] pci_bus 0000:00: on NUMA node 0
[    0.122522] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122562] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122600] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122638] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122675] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122713] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122750] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.122787] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.123011] ACPI: EC: interrupt unblocked
[    0.123018] ACPI: EC: event unblocked
[    0.123025] ACPI: \_SB_.PCI0.LPCB.H_EC: GPE=0x17, IRQ=-1, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.123026] ACPI: \_SB_.PCI0.LPCB.H_EC: Boot DSDT EC used to handle transactions and events
[    0.123061] iommu: Default domain type: Translated 
[    0.123121] SCSI subsystem initialized
[    0.123127] libata version 3.00 loaded.
[    0.123138] ACPI: bus type USB registered
[    0.123149] usbcore: registered new interface driver usbfs
[    0.123154] usbcore: registered new interface driver hub
[    0.125783] usbcore: registered new device driver usb
[    0.125784] Registered efivars operations
[    0.125784] Advanced Linux Sound Architecture Driver Initialized.
[    0.125784] PCI: Using ACPI for IRQ routing
[    0.125784] PCI: pci_cache_line_size set to 64 bytes
[    0.125784] e820: reserve RAM buffer [mem 0x00058000-0x0005ffff]
[    0.125784] e820: reserve RAM buffer [mem 0x00069000-0x0006ffff]
[    0.125784] e820: reserve RAM buffer [mem 0x0008c000-0x0008ffff]
[    0.125784] e820: reserve RAM buffer [mem 0x895d5000-0x8bffffff]
[    0.125784] e820: reserve RAM buffer [mem 0xdb02f000-0xdbffffff]
[    0.125784] e820: reserve RAM buffer [mem 0xdd000000-0xdfffffff]
[    0.125784] e820: reserve RAM buffer [mem 0x21f600000-0x21fffffff]
[    0.125784] NetLabel: Initializing
[    0.125784] NetLabel:  domain hash size = 128
[    0.125784] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.125784] NetLabel:  unlabeled traffic allowed by default
[    0.125784] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.125784] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.129782] clocksource: Switched to clocksource tsc-early
[    0.129788] *** VALIDATE ramfs ***
[    0.129788] *** VALIDATE hugetlbfs ***
[    0.129788] AppArmor: AppArmor Filesystem Enabled
[    0.129788] pnp: PnP ACPI init
[    0.129788] system 00:00: [io  0x0680-0x069f] has been reserved
[    0.129788] system 00:00: [io  0xffff] has been reserved
[    0.129788] system 00:00: [io  0xffff] has been reserved
[    0.129788] system 00:00: [io  0xffff] has been reserved
[    0.129788] system 00:00: [io  0x1800-0x18fe] has been reserved
[    0.129788] system 00:00: [io  0x164e-0x164f] has been reserved
[    0.129788] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.129788] system 00:01: [io  0x0800-0x087f] has been reserved
[    0.129788] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.129788] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.129788] system 00:03: [io  0x1854-0x1857] has been reserved
[    0.129788] system 00:03: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.129788] pnp 00:04: Plug and Play ACPI device, IDs FUJ0300 PNP0303 (active)
[    0.129788] pnp 00:05: Plug and Play ACPI device, IDs SYN1f08 PNP0f13 (active)
[    0.129788] system 00:06: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.129788] system 00:06: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.129788] system 00:06: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.129788] system 00:06: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.129788] system 00:06: [mem 0xf8000000-0xfbffffff] could not be reserved
[    0.129788] system 00:06: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.129788] system 00:06: [mem 0xfed90000-0xfed93fff] has been reserved
[    0.129788] system 00:06: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.129788] system 00:06: [mem 0xff000000-0xffffffff] could not be reserved
[    0.129788] system 00:06: [mem 0xfee00000-0xfeefffff] has been reserved
[    0.129788] system 00:06: [mem 0xdfa10000-0xdfa1ffff] has been reserved
[    0.129788] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.129788] pnp: PnP ACPI: found 7 devices
[    0.136050] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.136057] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.136063] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    0.136072] pci 0000:00:1c.2: PCI bridge to [bus 03]
[    0.136077] pci 0000:00:1c.2:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.136084] pci 0000:00:1c.5: PCI bridge to [bus 04]
[    0.136086] pci 0000:00:1c.5:   bridge window [io  0x3000-0x3fff]
[    0.136090] pci 0000:00:1c.5:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.136094] pci 0000:00:1c.5:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.136100] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    0.136101] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    0.136102] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    0.136103] pci_bus 0000:00: resource 7 [mem 0xdfa00000-0xfeafffff window]
[    0.136104] pci_bus 0000:00: resource 8 [mem 0xff700100-0xff7001ff window]
[    0.136105] pci_bus 0000:03: resource 1 [mem 0xf0600000-0xf06fffff]
[    0.136106] pci_bus 0000:04: resource 0 [io  0x3000-0x3fff]
[    0.136107] pci_bus 0000:04: resource 1 [mem 0xf0500000-0xf05fffff]
[    0.136108] pci_bus 0000:04: resource 2 [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.136191] NET: Registered protocol family 2
[    0.136269] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.136281] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.136357] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[    0.136510] TCP: Hash tables configured (established 65536 bind 65536)
[    0.136534] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.136554] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.136604] NET: Registered protocol family 1
[    0.136712] Unpacking initramfs...
[    0.300568] Freeing initrd memory: 14512K
[    0.300576] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.300577] software IO TLB: mapped [mem 0xc9907000-0xcd907000] (64MB)
[    0.300879] Initialise system trusted keyrings
[    0.300914] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[    0.301776] fuse: init (API version 7.31)
[    0.301791] *** VALIDATE fuse ***
[    0.301793] *** VALIDATE fuse ***
[    0.306893] Key type asymmetric registered
[    0.306894] Asymmetric key parser 'x509' registered
[    0.306903] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.307459] intel_idle: MWAIT substates: 0x42120
[    0.307460] intel_idle: v0.4.1 model 0x3C
[    0.307619] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.307769] ACPI: AC Adapter [ADP1] (on-line)
[    0.307826] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    0.307839] ACPI: Lid Switch [LID0]
[    0.307861] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    0.307874] ACPI: Power Button [PWRB]
[    0.307896] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[    0.307921] ACPI: Power Button [PWRF]
[    0.308352] ACPI: Invalid active0 threshold
[    0.308419] thermal LNXTHERM:00: registered as thermal_zone0
[    0.308420] ACPI: Thermal Zone [TZ00] (28 C)
[    0.308580] thermal LNXTHERM:01: registered as thermal_zone1
[    0.308581] ACPI: Thermal Zone [TZ01] (30 C)
[    0.308607] ioatdma: Intel(R) QuickData Technology Driver 5.00
[    0.308856] Linux agpgart interface v0.103
[    0.309344] battery: ACPI: Battery Slot [BAT0] (battery present)
[    0.317843] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.317844] [drm] Driver supports precise vblank timestamp query.
[    0.339055] [drm] Initialized i915 1.6.0 20191101 for 0000:00:02.0 on minor 0
[    0.342905] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    0.343120] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input3
[    0.344042] loop: module loaded
[    0.344052] usbcore: registered new interface driver rtsx_usb
[    0.344093] ACPI Warning: SystemIO range 0x0000000000001828-0x000000000000182F conflicts with OpRegion 0x0000000000001800-0x000000000000187F (\PMIO) (20200110/utaddress-213)
[    0.344097] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    0.344099] ACPI Warning: SystemIO range 0x0000000000000840-0x000000000000084F conflicts with OpRegion 0x0000000000000800-0x0000000000000BFF (\GPR) (20200110/utaddress-213)
[    0.344102] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    0.344102] ACPI Warning: SystemIO range 0x0000000000000830-0x000000000000083F conflicts with OpRegion 0x0000000000000800-0x000000000000083F (\GPRL) (20200110/utaddress-213)
[    0.344104] ACPI Warning: SystemIO range 0x0000000000000830-0x000000000000083F conflicts with OpRegion 0x0000000000000800-0x0000000000000BFF (\GPR) (20200110/utaddress-213)
[    0.344106] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    0.344106] ACPI Warning: SystemIO range 0x0000000000000800-0x000000000000082F conflicts with OpRegion 0x0000000000000800-0x000000000000083F (\GPRL) (20200110/utaddress-213)
[    0.344108] ACPI Warning: SystemIO range 0x0000000000000800-0x000000000000082F conflicts with OpRegion 0x0000000000000800-0x0000000000000BFF (\GPR) (20200110/utaddress-213)
[    0.344110] ACPI Warning: SystemIO range 0x0000000000000800-0x000000000000082F conflicts with OpRegion 0x0000000000000810-0x0000000000000813 (\IO_D) (20200110/utaddress-213)
[    0.344112] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    0.344112] lpc_ich: Resource conflict(s) found affecting gpio_ich
[    0.344167] ahci 0000:00:1f.2: version 3.0
[    0.344296] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[    0.344319] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 3 Gbps 0x34 impl SATA mode
[    0.344321] ahci 0000:00:1f.2: flags: 64bit ncq stag led clo pio slum part ems sxs apst 
[    0.366269] scsi host0: ahci
[    0.366469] scsi host1: ahci
[    0.366570] scsi host2: ahci
[    0.366643] scsi host3: ahci
[    0.366708] scsi host4: ahci
[    0.366781] scsi host5: ahci
[    0.366811] ata1: DUMMY
[    0.366812] ata2: DUMMY
[    0.366814] ata3: SATA max UDMA/133 abar m2048@0xf071c000 port 0xf071c200 irq 29
[    0.366815] ata4: DUMMY
[    0.366817] ata5: SATA max UDMA/133 abar m2048@0xf071c000 port 0xf071c300 irq 29
[    0.366819] ata6: SATA max UDMA/133 abar m2048@0xf071c000 port 0xf071c380 irq 29
[    0.366973] r8169 0000:04:00.0: Mem-Wr-Inval unavailable
[    0.368285] libphy: r8169: probed
[    0.368497] r8169 0000:04:00.0 eth0: RTL8168evl/8111evl, e0:18:77:c1:80:1d, XID 2c9, IRQ 30
[    0.368498] r8169 0000:04:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[    0.368512] Intel(R) Wireless WiFi driver for Linux
[    0.368513] Copyright(c) 2003- 2015 Intel Corporation
[    0.368871] xhci_hcd 0000:00:14.0: can't derive routing for PCI INT A
[    0.368872] xhci_hcd 0000:00:14.0: PCI INT A: not connected
[    0.368896] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    0.368900] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    0.369972] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
[    0.370275] iwlwifi 0000:03:00.0: loaded firmware version 17.3216344376.0 op_mode iwlmvm
[    0.370287] iwlwifi 0000:03:00.0: Detected Intel(R) Wireless N 7260, REV=0x144
[    0.370347] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[    0.370349] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.370350] usb usb1: Product: xHCI Host Controller
[    0.370352] usb usb1: Manufacturer: Linux 5.5.0-00849-gb0be0eff1a5a xhci-hcd
[    0.370353] usb usb1: SerialNumber: 0000:00:14.0
[    0.370461] hub 1-0:1.0: USB hub found
[    0.370482] hub 1-0:1.0: 14 ports detected
[    0.371768] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    0.371772] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    0.371774] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[    0.371804] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.05
[    0.371805] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.371806] usb usb2: Product: xHCI Host Controller
[    0.371807] usb usb2: Manufacturer: Linux 5.5.0-00849-gb0be0eff1a5a xhci-hcd
[    0.371808] usb usb2: SerialNumber: 0000:00:14.0
[    0.371876] hub 2-0:1.0: USB hub found
[    0.371886] hub 2-0:1.0: 4 ports detected
[    0.372163] usbcore: registered new interface driver usblp
[    0.372173] usbcore: registered new interface driver usb-storage
[    0.372194] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    0.374964] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.374966] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.375038] mousedev: PS/2 mouse device common for all mice
[    0.375399] intel_pstate: Intel P-state driver initializing
[    0.375580] EFI Variables Facility v0.08 2004-May-17
[    0.379693] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[    0.381805] hid: raw HID events driver (C) Jiri Kosina
[    0.381835] usbcore: registered new interface driver usbhid
[    0.381836] usbhid: USB HID core driver
[    0.381897] fujitsu_laptop: ACPI: Fujitsu FUJ02E3 [FEXT]
[    0.382098] ACPI: \_SB_.FEXT: BTNI: [0x80001]
[    0.382121] input: Fujitsu FUJ02E3 as /devices/LNXSYSTM:00/LNXSYBUS:00/FUJ02E3:00/input/input6
[    0.382282] fujitsu_laptop: driver 0.6.0 successfully loaded
[    0.382526] usbcore: registered new interface driver snd-usb-audio
[    0.382641] NET: Registered protocol family 10
[    0.382781] Segment Routing with IPv6
[    0.382793] NET: Registered protocol family 17
[    0.382941] microcode: sig=0x306c3, pf=0x10, revision=0x27
[    0.382970] microcode: Microcode Update Driver: v2.2.
[    0.382972] IPI shorthand broadcast: enabled
[    0.382975] sched_clock: Marking stable (382745443, 222120)->(397472925, -14505362)
[    0.383006] Loading compiled-in X.509 certificates
[    0.386339] Loaded X.509 cert 'Build time autogenerated kernel key: 127e5e955fcf701bb9078627dd40f1f2d1736007'
[    0.386350] Key type ._fscrypt registered
[    0.386351] Key type .fscrypt registered
[    0.386362] AppArmor: AppArmor sha1 policy hashing enabled
[    0.386599] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    0.388785] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    0.388787] ALSA device list:
[    0.388788]   No soundcards found.
[    0.389846] iwlwifi 0000:03:00.0: base HW address: 80:19:34:4d:31:40
[    0.401637] snd_hda_codec_realtek hdaudioC1D0: ALC269VC: SKU not ready 0x909701f0
[    0.401890] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC269VC: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    0.401891] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    0.401892] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[    0.401893] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[    0.401893] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    0.401894] snd_hda_codec_realtek hdaudioC1D0:      Mic=0x18
[    0.401895] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
[    0.407467] random: fast init done
[    0.408193] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input8
[    0.408221] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input9
[    0.593997] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[    0.705855] usb 1-2: new low-speed USB device number 2 using xhci_hcd
[    0.862083] usb 1-2: New USB device found, idVendor=258a, idProduct=0001, bcdDevice= 1.00
[    0.862085] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    0.862086] usb 1-2: Product: USB KEYBOARD
[    0.862087] usb 1-2: Manufacturer: SINO WEALTH
[    0.866939] input: SINO WEALTH USB KEYBOARD as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:258A:0001.0001/input/input10
[    0.926122] hid-generic 0003:258A:0001.0001: input,hidraw0: USB HID v1.10 Keyboard [SINO WEALTH USB KEYBOARD] on usb-0000:00:14.0-2/input0
[    0.932950] input: SINO WEALTH USB KEYBOARD System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:258A:0001.0002/input/input11
[    0.990008] input: SINO WEALTH USB KEYBOARD Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:258A:0001.0002/input/input12
[    0.990327] hid-generic 0003:258A:0001.0002: input,hiddev0,hidraw1: USB HID v1.10 Device [SINO WEALTH USB KEYBOARD] on usb-0000:00:14.0-2/input1
[    1.117855] usb 1-5: new high-speed USB device number 3 using xhci_hcd
[    1.138261] usb 1-5: New USB device found, idVendor=0bda, idProduct=0129, bcdDevice=39.60
[    1.138262] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.138263] usb 1-5: Product: USB2.0-CRW
[    1.138264] usb 1-5: Manufacturer: Generic
[    1.138265] usb 1-5: SerialNumber: 20100201396000000
[    1.265854] usb 1-6: new high-speed USB device number 4 using xhci_hcd
[    1.288336] usb 1-6: New USB device found, idVendor=05e3, idProduct=0605, bcdDevice= 6.0b
[    1.288338] usb 1-6: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.288339] usb 1-6: Product: USB2.0 Hub
[    1.289425] hub 1-6:1.0: USB hub found
[    1.289730] hub 1-6:1.0: 4 ports detected
[    1.309853] tsc: Refined TSC clocksource calibration: 2494.227 MHz
[    1.309859] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x23f3ec29a0f, max_idle_ns: 440795214066 ns
[    1.309876] clocksource: Switched to clocksource tsc
[    1.313898] input: PS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input7
[    1.417856] usb 1-8: new full-speed USB device number 5 using xhci_hcd
[    1.502915] Console: switching to colour frame buffer device 170x48
[    1.502929] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops 0xffffffff99c64ac0)
[    1.505732] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[    1.505734] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    1.505735] snd_hda_codec_generic hdaudioC0D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    1.505736] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    1.505737] snd_hda_codec_generic hdaudioC0D0:    dig-out=0x3/0x0
[    1.505737] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    1.506191] input: HDA Intel HDMI HDMI as /devices/pci0000:00/0000:00:03.0/sound/card0/input13
[    1.521691] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[    1.571128] usb 1-8: New USB device found, idVendor=8087, idProduct=07dc, bcdDevice= 0.01
[    1.571130] usb 1-8: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.649856] usb 1-6.4: new full-speed USB device number 6 using xhci_hcd
[    1.752632] usb 1-6.4: New USB device found, idVendor=1130, idProduct=1620, bcdDevice= 1.40
[    1.752634] usb 1-6.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    1.752635] usb 1-6.4: Product: USB  AUDIO  
[    1.759782] usb 1-6.4: Warning! Unlikely big volume range (=17152), cval->res is probably wrong.
[    1.759785] usb 1-6.4: [2] FU [PCM Playback Volume] ch = 2, val = 0/17152/1
[    1.760587] input: USB  AUDIO   as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.4/1-6.4:1.2/0003:1130:1620.0003/input/input14
[    1.817943] hid-generic 0003:1130:1620.0003: input,hidraw2: USB HID v1.10 Device [USB  AUDIO  ] on usb-0000:00:14.0-6.4/input2
[    1.837010] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    1.841683] ata3.00: ATAPI: TSSTcorp CDDVDW SU-208CB, FU01, max UDMA/100
[    1.846679] ata3.00: configured for UDMA/100
[    1.856713] scsi 2:0:0:0: CD-ROM            TSSTcorp CDDVDW SU-208CB  FU01 PQ: 0 ANSI: 5
[    1.919545] sr 2:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
[    1.919547] cdrom: Uniform CD-ROM driver Revision: 3.20
[    1.919642] sr 2:0:0:0: Attached scsi CD-ROM sr0
[    1.919690] sr 2:0:0:0: Attached scsi generic sg0 type 5
[    2.233209] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.349800] ata5.00: ATA-9: ST500LM000-1EJ162, SM36, max UDMA/133
[    2.349802] ata5.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 32), AA
[    2.394181] ata5.00: configured for UDMA/133
[    2.394299] scsi 4:0:0:0: Direct-Access     ATA      ST500LM000-1EJ16 SM36 PQ: 0 ANSI: 5
[    2.394419] sd 4:0:0:0: Attached scsi generic sg1 type 0
[    2.394433] sd 4:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[    2.394435] sd 4:0:0:0: [sda] 4096-byte physical blocks
[    2.394442] sd 4:0:0:0: [sda] Write Protect is off
[    2.394444] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.394456] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.398342]  sda: sda1 sda2
[    2.398510] sd 4:0:0:0: [sda] Attached SCSI disk
[    2.709256] ata6: SATA link down (SStatus 0 SControl 300)
[    2.709467] Freeing unused kernel image (initmem) memory: 920K
[    2.709492] Write protecting the kernel read-only data: 18432k
[    2.709838] Freeing unused kernel image (text/rodata gap) memory: 2044K
[    2.709975] Freeing unused kernel image (rodata/data gap) memory: 600K
[    2.710115] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    2.710116] x86/mm: Checking user space page tables
[    2.710146] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    2.710147] Run /init as init process
[    2.784663] r8169 0000:04:00.0 enp4s0: renamed from eth0
[    2.818201] iwlwifi 0000:03:00.0 wlp3s0: renamed from wlan0
[    3.100774] random: plymouthd: uninitialized urandom read (8 bytes read)
[    3.100869] random: plymouthd: uninitialized urandom read (8 bytes read)
[    3.181028] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    3.351406] systemd[1]: Failed to insert module 'autofs4': No such file or directory
[    3.380217] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    3.398018] systemd[1]: Detected architecture x86-64.
[    3.426454] systemd[1]: Set hostname to <fichte>.
[    3.430037] systemd[1]: Couldn't move remaining userspace processes, ignoring: Input/output error
[    3.489295] systemd-fstab-generator[324]: Swap not supported, ignoring fstab swap entry for /swapfile.
[    3.693392] systemd[1]: File /lib/systemd/system/systemd-journald.service:35 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    3.693395] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    3.828918] random: systemd: uninitialized urandom read (16 bytes read)
[    3.828932] systemd[1]: Reached target Remote File Systems.
[    3.829163] systemd[1]: Created slice System Slice.
[    3.829228] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[    3.829279] systemd[1]: Listening on udev Kernel Socket.
[    3.858658] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
[    3.931127] systemd-journald[340]: Received request to flush runtime journal from PID 1
[    4.127021] Bluetooth: Core ver 2.22
[    4.127031] NET: Registered protocol family 31
[    4.127032] Bluetooth: HCI device and connection manager initialized
[    4.127036] Bluetooth: HCI socket layer initialized
[    4.127037] Bluetooth: L2CAP socket layer initialized
[    4.127038] Bluetooth: SCO socket layer initialized
[    4.264359] usbcore: registered new interface driver btusb
[    4.276847] Bluetooth: hci0: read Intel version: 370710018002030d00
[    4.276851] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
[    4.407842] Bluetooth: hci0: unexpected event for opcode 0xfc2f
[    4.422871] Bluetooth: hci0: Intel firmware patch completed and activated
[    4.789634] audit: type=1400 audit(1580567371.720:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-senddoc" pid=581 comm="apparmor_parser"
[    4.790266] audit: type=1400 audit(1580567371.724:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-oopslash" pid=580 comm="apparmor_parser"
[    4.794227] audit: type=1400 audit(1580567371.728:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-xpdfimport" pid=583 comm="apparmor_parser"
[    4.801396] audit: type=1400 audit(1580567371.732:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cups-browsed" pid=585 comm="apparmor_parser"
[    4.802260] audit: type=1400 audit(1580567371.736:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/snapd/snap-confine" pid=584 comm="apparmor_parser"
[    4.802263] audit: type=1400 audit(1580567371.736:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=584 comm="apparmor_parser"
[    4.802407] audit: type=1400 audit(1580567371.736:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/sbin/dhclient" pid=577 comm="apparmor_parser"
[    4.802412] audit: type=1400 audit(1580567371.736:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=577 comm="apparmor_parser"
[    4.802414] audit: type=1400 audit(1580567371.736:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=577 comm="apparmor_parser"
[    6.530519] RTL8211E Gigabit Ethernet r8169-400:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=r8169-400:00, irq=IGNORE)
[    6.722947] r8169 0000:04:00.0 enp4s0: Link is Down
[    8.658583] random: crng init done
[    8.658585] random: 7 urandom warning(s) missed due to ratelimiting
[    9.640069] r8169 0000:04:00.0 enp4s0: Link is Up - 1Gbps/Full - flow control rx/tx
[    9.640081] IPv6: ADDRCONF(NETDEV_CHANGE): enp4s0: link becomes ready
[    9.650028] r8169 0000:04:00.0 enp4s0: Link is Down
[   12.947316] r8169 0000:04:00.0 enp4s0: Link is Up - 100Mbps/Full - flow control off
[   21.824862] input: BluetoothMouse3600 Mouse as /devices/virtual/misc/uhid/0005:045E:0916.0004/input/input15
[   21.825085] input: BluetoothMouse3600 Consumer Control as /devices/virtual/misc/uhid/0005:045E:0916.0004/input/input16
[   21.825211] hid-generic 0005:045E:0916.0004: input,hidraw3: BLUETOOTH HID v1.10 Mouse [BluetoothMouse3600] on 80:19:34:4D:31:44

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 15:35           ` Jörg Otte
@ 2020-02-01 16:02             ` Ard Biesheuvel
  2020-02-02  9:22               ` Ingo Molnar
  2020-02-01 21:29             ` Dan Williams
  1 sibling, 1 reply; 20+ messages in thread
From: Ard Biesheuvel @ 2020-02-01 16:02 UTC (permalink / raw)
  To: Jörg Otte
  Cc: Dan Williams, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers, Ingo Molnar

On Sat, 1 Feb 2020 at 16:35, Jörg Otte <jrg.otte@gmail.com> wrote:
>
> Am Fr., 31. Jan. 2020 um 19:48 Uhr schrieb Dan Williams
> <dan.j.williams@intel.com>:
> >
> > On Fri, Jan 31, 2020 at 10:37 AM Ingo Molnar <mingo@kernel.org> wrote:
> > >
> > >
> > > (Cc:ed Dan and Ard)
> > >
> > > * Jörg Otte <jrg.otte@gmail.com> wrote:
> > >
> > > > Am Fr., 31. Jan. 2020 um 07:43 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
> > > > >
> > > > >
> > > > > * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > > > >
> > > > > > On Thu, Jan 30, 2020 at 9:32 AM Jörg Otte <jrg.otte@gmail.com> wrote:
> > > > > > >
> > > > > > > my notebook doesn't boot with current kernel. Booting stops right after
> > > > > > > displaying "loading initial ramdisk..". No further displays.
> > > > > > > Also nothing is wriiten to the logs.
> > > > > > >
> > > > > > > last known good kernel is : vmlinuz-5.5.0-00849-gb0be0eff1a5a
> > > > > > > first known bad kernel is : vmlinuz-5.5.0-01154-gc677124e631d
> > > > > >
> > > > > > It would be lovely if you can bisect a bit. But my merges in that
> > > > > > range are all from Ingo:
> > > > > >
> > > > > > Ingo Molnar (7):
> > > > > >     header cleanup
> > > > > >     objtool updates
> > > > > >     RCU updates
> > > > > >     EFI updates
> > > > > >     locking updates
> > > > > >     perf updates
> > > > > >     scheduler updates
> > > > >
> > > > > If I had to guess then perhaps the EFI changes look the most dangerous
> > > > > ones from these trees - but in principle most of these trees could
> > > > > contain a boot crasher/hang bug.
> > > > >
> > > > > > but not having any messages at all makes it hard to guess where it
> > > > > > would be.
> > > > >
> > > > > To improve debug output:
> > > > >
> > > > > Removing any 'fbcon' options in /boot/grub/grub.cfg and adding this to
> > > > > the boot options might improve the debug output:
> > > > >
> > > > >   earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn
> > > > >
> > > > > So for example if the relevant kernel boot entry in grub.cfg looks like
> > > > > this:
> > > > >
> > > > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro  splash $vt_handoff
> > > > >
> > > > > Then editing it to the following could in principle produce (much) more
> > > > > verbose boot output:
> > > > >
> > > > >   linux   /vmlinuz-5.3.0-26-generic root=UUID=1bcxabe3-0b62-4x04-b456-47cd90c0e6x4 ro earlyprintk=vga initcall_debug ignore_loglevel debug panic_on_warn $vt_handoff
> > > > >
> > > > > If this produces more output than just "loading initial ramdisk..' then a
> > > > > photo of the hung screen would be sufficient, no need to transcribe it.
> > > > >
> > > > > > A few bisect runs would narrow it down a fair amount. Bisecting all the
> > > > > > way would be even better, of course,
> > > > >
> > > > > Agreed!
> > > > >
> > > > > If compiling full kernels for bisections takes too long (for example
> > > > > because the .config is from a distro kernel) then running "make
> > > > > localmodconfig" to create a config tailored to the currently active
> > > > > modules will cut down significantly on build time.
> > > > >
> > > > > Also, a warning: if the normal boot log contains spurious warnings then
> > > > > the new 'panic_on_warn' option will cause additional trouble on good
> > > > > kernels.
> > > >
> > > > It's bisected.
> > > > The first bad commit is :
> > > > 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> > > > efi: Add tracking for dynamically allocated memmaps
> > >
> > > Thanks a ton, that's very useful!
> > >
> > > I've Cc:-ed the EFI gents who are developing this code, maybe they'll
> > > spot the bug.
> >
> > I'll take a look. Jörg, can you paste a full dmesg from a good boot?
>
> Here it is.
>

Hello Jörg,

Could you please try whether the change below fixes the issue?

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 59f7f6d60cf6..ae923ee8e2b4 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
                        .phys_map = efi.memmap.phys_map,
                        .desc_version = efi.memmap.desc_version,
                        .desc_size = efi.memmap.desc_size,
-                       .size = data.desc_size * (efi.memmap.nr_map -
n_removal),
+                       .size = efi.memmap.desc_size *
(efi.memmap.nr_map - n_removal),
                        .flags = 0,
                };

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [TEST PATCH RFC] Revert the EFI leak fixes for now (was: Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot))
  2020-02-01  9:45         ` [TEST PATCH RFC] Revert the EFI leak fixes for now (was: Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)) Ingo Molnar
@ 2020-02-01 16:23           ` Dan Williams
  0 siblings, 0 replies; 20+ messages in thread
From: Dan Williams @ 2020-02-01 16:23 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jörg Otte, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Sat, Feb 1, 2020 at 1:45 AM Ingo Molnar <mingo@kernel.org> wrote:
>
>
>
> Jörg Otte wrote:
>
> > It's bisected.
> > The first bad commit is :
> > 1db91035d01aa8bfa2350c00ccb63d629b4041ad
> > efi: Add tracking for dynamically allocated memmaps
>
> > Unfortunately I can not revert because of compile errors!
> >
> > In file included from /media/jojo/deftoshiba/kernel/linux/init/main.c:48:
> > /media/jojo/deftoshiba/kernel/linux/include/linux/efi.h:975:1: error:
> > version control conflict marker in file
> > <<<<<<< HEAD
>
> So 1db91035d0 doesn't revert cleanly, because 484a418d0754 depends on it,
> plus there a third commit (f0ef6523475f) that has a semantic dependency
> on 1db91035d01a.
>
> But you can revert them all, if done in reverse chronological order:
>
>   git revert f0ef6523475f # ("efi: Fix efi_memmap_alloc() leaks")
>   git revert 484a418d0754 # ("efi: Fix handling of multiple efi_fake_mem= entries")
>   git revert 1db91035d01a # ("efi: Add tracking for dynamically allocated memmaps")
>
> You can paste those three lines into a shell as-is, or you can apply the
> patch below which is a combination of these three reverts.
>
> Jörg, can you confirm that doing these reverts fixes booting on your
> system? If it does then a full dmesg from that kernel would be useful.
>
> FWIW I reviewed the bisected commit and didn't find the bug but I also
> couldn't convince myself it's a 1:1 identity transformation and cleanup
> of the existing logic.
>
> The size arithmethics transformation looks correct at first sight, but
> the data->flags handling in particular looks rather interwoven.

Agreed, but the only flags change that I couldn't convince myself was
correct is this:

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 59f7f6d60cf6..314b36ac2a08 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -309,7 +309,7 @@ static void __init efi_clean_memmap(void)
                        .desc_version = efi.memmap.desc_version,
                        .desc_size = efi.memmap.desc_size,
                        .size = data.desc_size * (efi.memmap.nr_map -
n_removal),
-                       .flags = 0,
+                       .flags = efi.memmap.flags & EFI_MEMMAP_LATE,
                };

                pr_warn("Removing %d invalid memory map entries.\n", n_removal);

...but efi_clean_memmap() should "early".

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 15:35           ` Jörg Otte
  2020-02-01 16:02             ` Ard Biesheuvel
@ 2020-02-01 21:29             ` Dan Williams
  1 sibling, 0 replies; 20+ messages in thread
From: Dan Williams @ 2020-02-01 21:29 UTC (permalink / raw)
  To: Jörg Otte
  Cc: Ard Biesheuvel, Linus Torvalds, Linux Kernel Mailing List,
	the arch/x86 maintainers, Ingo Molnar

On Sat, Feb 1, 2020 at 7:35 AM Jörg Otte <jrg.otte@gmail.com> wrote:
[..]
> > I'll take a look. Jörg, can you paste a full dmesg from a good boot?
>
> Here it is.

Much appreciated, I found an old Haswell laptop and am able to
reproduce the boot hang.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
       [not found]         ` <CAKv+Gu-oPrM7oh-oTbpQsUmXcYvp9KxjXFb3DUGk__qu59rdBQ@mail.gmail.com>
@ 2020-02-01 21:44           ` Dan Williams
  2020-02-01 21:49             ` Ard Biesheuvel
  0 siblings, 1 reply; 20+ messages in thread
From: Dan Williams @ 2020-02-01 21:44 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Ingo Molnar, Jörg Otte, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Fri, Jan 31, 2020 at 10:45 AM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>
> earlycon=efifb may help to get better diagnostics, but you will need to use a camera to capture the output

https://photos.app.goo.gl/uA3Wkaxc8x6A4gK47

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 21:44           ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Dan Williams
@ 2020-02-01 21:49             ` Ard Biesheuvel
  2020-02-01 22:31               ` Dan Williams
  0 siblings, 1 reply; 20+ messages in thread
From: Ard Biesheuvel @ 2020-02-01 21:49 UTC (permalink / raw)
  To: Dan Williams
  Cc: Ingo Molnar, Jörg Otte, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Sat, 1 Feb 2020 at 22:44, Dan Williams <dan.j.williams@intel.com> wrote:
>
> On Fri, Jan 31, 2020 at 10:45 AM Ard Biesheuvel
> <ard.biesheuvel@linaro.org> wrote:
> >
> > earlycon=efifb may help to get better diagnostics, but you will need to use a camera to capture the output
>
> https://photos.app.goo.gl/uA3Wkaxc8x6A4gK47

Yeah, so it definitely has to do with the n_removal > 0 path.

Did you try the change I suggested to Joerg?

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 21:49             ` Ard Biesheuvel
@ 2020-02-01 22:31               ` Dan Williams
  2020-02-01 22:36                 ` Ard Biesheuvel
  0 siblings, 1 reply; 20+ messages in thread
From: Dan Williams @ 2020-02-01 22:31 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Ingo Molnar, Jörg Otte, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Sat, Feb 1, 2020 at 1:49 PM Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> On Sat, 1 Feb 2020 at 22:44, Dan Williams <dan.j.williams@intel.com> wrote:
> >
> > On Fri, Jan 31, 2020 at 10:45 AM Ard Biesheuvel
> > <ard.biesheuvel@linaro.org> wrote:
> > >
> > > earlycon=efifb may help to get better diagnostics, but you will need to use a camera to capture the output
> >
> > https://photos.app.goo.gl/uA3Wkaxc8x6A4gK47
>
> Yeah, so it definitely has to do with the n_removal > 0 path.
>
> Did you try the change I suggested to Joerg?

Nice, it worked.

Tested-by: Dan Williams <dan.j.williams@intel.com>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 22:31               ` Dan Williams
@ 2020-02-01 22:36                 ` Ard Biesheuvel
  0 siblings, 0 replies; 20+ messages in thread
From: Ard Biesheuvel @ 2020-02-01 22:36 UTC (permalink / raw)
  To: Dan Williams
  Cc: Ingo Molnar, Jörg Otte, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Sat, 1 Feb 2020 at 23:31, Dan Williams <dan.j.williams@intel.com> wrote:
>
> On Sat, Feb 1, 2020 at 1:49 PM Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> >
> > On Sat, 1 Feb 2020 at 22:44, Dan Williams <dan.j.williams@intel.com> wrote:
> > >
> > > On Fri, Jan 31, 2020 at 10:45 AM Ard Biesheuvel
> > > <ard.biesheuvel@linaro.org> wrote:
> > > >
> > > > earlycon=efifb may help to get better diagnostics, but you will need to use a camera to capture the output
> > >
> > > https://photos.app.goo.gl/uA3Wkaxc8x6A4gK47
> >
> > Yeah, so it definitely has to do with the n_removal > 0 path.
> >
> > Did you try the change I suggested to Joerg?
>
> Nice, it worked.
>
> Tested-by: Dan Williams <dan.j.williams@intel.com>

Thanks for confirming. I'll spin a proper patch.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-01 16:02             ` Ard Biesheuvel
@ 2020-02-02  9:22               ` Ingo Molnar
  2020-02-02  9:32                 ` Ard Biesheuvel
  2020-02-02 11:07                 ` Jörg Otte
  0 siblings, 2 replies; 20+ messages in thread
From: Ingo Molnar @ 2020-02-02  9:22 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Jörg Otte, Dan Williams, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers


* Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

> Hello Jörg,
> 
> Could you please try whether the change below fixes the issue?
> 
> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> index 59f7f6d60cf6..ae923ee8e2b4 100644
> --- a/arch/x86/platform/efi/efi.c
> +++ b/arch/x86/platform/efi/efi.c
> @@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
>                         .phys_map = efi.memmap.phys_map,
>                         .desc_version = efi.memmap.desc_version,
>                         .desc_size = efi.memmap.desc_size,
> -                       .size = data.desc_size * (efi.memmap.nr_map - n_removal),
> +                       .size = efi.memmap.desc_size * (efi.memmap.nr_map - n_removal),
>                         .flags = 0,

Oh, I actually noticed this one, but convinced myself that it's correct, 
because GCC didn't warn about uninitialized data.

But maybe in this weird case data.desc_size as used within its own 
initializer is zero?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-02  9:22               ` Ingo Molnar
@ 2020-02-02  9:32                 ` Ard Biesheuvel
  2020-02-02 11:07                 ` Jörg Otte
  1 sibling, 0 replies; 20+ messages in thread
From: Ard Biesheuvel @ 2020-02-02  9:32 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jörg Otte, Dan Williams, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

On Sun, 2 Feb 2020 at 10:22, Ingo Molnar <mingo@kernel.org> wrote:
>
>
> * Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> > Hello Jörg,
> >
> > Could you please try whether the change below fixes the issue?
> >
> > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> > index 59f7f6d60cf6..ae923ee8e2b4 100644
> > --- a/arch/x86/platform/efi/efi.c
> > +++ b/arch/x86/platform/efi/efi.c
> > @@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
> >                         .phys_map = efi.memmap.phys_map,
> >                         .desc_version = efi.memmap.desc_version,
> >                         .desc_size = efi.memmap.desc_size,
> > -                       .size = data.desc_size * (efi.memmap.nr_map - n_removal),
> > +                       .size = efi.memmap.desc_size * (efi.memmap.nr_map - n_removal),
> >                         .flags = 0,
>
> Oh, I actually noticed this one, but convinced myself that it's correct,
> because GCC didn't warn about uninitialized data.
>
> But maybe in this weird case data.desc_size as used within its own
> initializer is zero?
>

Something like that, yes. Note that size and desc_size appear in
opposite order in the struct definition, and this may also affect how
the compiler handles this.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-02  9:22               ` Ingo Molnar
  2020-02-02  9:32                 ` Ard Biesheuvel
@ 2020-02-02 11:07                 ` Jörg Otte
  2020-02-03  7:45                   ` Ingo Molnar
  1 sibling, 1 reply; 20+ messages in thread
From: Jörg Otte @ 2020-02-02 11:07 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Ard Biesheuvel, Dan Williams, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers

Am So., 2. Feb. 2020 um 10:22 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
>
>
> * Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> > Hello Jörg,
> >
> > Could you please try whether the change below fixes the issue?
> >
> > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> > index 59f7f6d60cf6..ae923ee8e2b4 100644
> > --- a/arch/x86/platform/efi/efi.c
> > +++ b/arch/x86/platform/efi/efi.c
> > @@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
> >                         .phys_map = efi.memmap.phys_map,
> >                         .desc_version = efi.memmap.desc_version,
> >                         .desc_size = efi.memmap.desc_size,
> > -                       .size = data.desc_size * (efi.memmap.nr_map - n_removal),
> > +                       .size = efi.memmap.desc_size * (efi.memmap.nr_map - n_removal),
> >                         .flags = 0,
>
> Oh, I actually noticed this one, but convinced myself that it's correct,
> because GCC didn't warn about uninitialized data.
>
> But maybe in this weird case data.desc_size as used within its own
> initializer is zero?
>
Patch makes my kernel booting again :)

Thanks, Jörg

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)
  2020-02-02 11:07                 ` Jörg Otte
@ 2020-02-03  7:45                   ` Ingo Molnar
  0 siblings, 0 replies; 20+ messages in thread
From: Ingo Molnar @ 2020-02-03  7:45 UTC (permalink / raw)
  To: Jörg Otte
  Cc: Ard Biesheuvel, Dan Williams, Ard Biesheuvel, Linus Torvalds,
	Linux Kernel Mailing List, the arch/x86 maintainers


* Jörg Otte <jrg.otte@gmail.com> wrote:

> Am So., 2. Feb. 2020 um 10:22 Uhr schrieb Ingo Molnar <mingo@kernel.org>:
> >
> >
> > * Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> >
> > > Hello Jörg,
> > >
> > > Could you please try whether the change below fixes the issue?
> > >
> > > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> > > index 59f7f6d60cf6..ae923ee8e2b4 100644
> > > --- a/arch/x86/platform/efi/efi.c
> > > +++ b/arch/x86/platform/efi/efi.c
> > > @@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
> > >                         .phys_map = efi.memmap.phys_map,
> > >                         .desc_version = efi.memmap.desc_version,
> > >                         .desc_size = efi.memmap.desc_size,
> > > -                       .size = data.desc_size * (efi.memmap.nr_map - n_removal),
> > > +                       .size = efi.memmap.desc_size * (efi.memmap.nr_map - n_removal),
> > >                         .flags = 0,
> >
> > Oh, I actually noticed this one, but convinced myself that it's correct,
> > because GCC didn't warn about uninitialized data.
> >
> > But maybe in this weird case data.desc_size as used within its own
> > initializer is zero?
>
> Patch makes my kernel booting again :)

Thank you! I'll send the fix to Linus later today.

	Ingo

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-02-03  7:46 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-30 17:32 5.6-### doesn't boot Jörg Otte
2020-01-30 18:07 ` Linus Torvalds
2020-01-30 18:22   ` Andy Lutomirski
2020-01-31  6:43   ` Ingo Molnar
2020-01-31 10:35     ` Jörg Otte
2020-01-31 18:36       ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Ingo Molnar
2020-01-31 18:48         ` Dan Williams
2020-02-01 15:35           ` Jörg Otte
2020-02-01 16:02             ` Ard Biesheuvel
2020-02-02  9:22               ` Ingo Molnar
2020-02-02  9:32                 ` Ard Biesheuvel
2020-02-02 11:07                 ` Jörg Otte
2020-02-03  7:45                   ` Ingo Molnar
2020-02-01 21:29             ` Dan Williams
2020-02-01  9:45         ` [TEST PATCH RFC] Revert the EFI leak fixes for now (was: Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)) Ingo Molnar
2020-02-01 16:23           ` Dan Williams
     [not found]         ` <CAKv+Gu-oPrM7oh-oTbpQsUmXcYvp9KxjXFb3DUGk__qu59rdBQ@mail.gmail.com>
2020-02-01 21:44           ` EFI boot crash regression (was: Re: 5.6-### doesn't boot) Dan Williams
2020-02-01 21:49             ` Ard Biesheuvel
2020-02-01 22:31               ` Dan Williams
2020-02-01 22:36                 ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).