[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXE9046X9EDd636Bw1A9npv0QKAuLcTAzMXAn=JVZeCN0Q@mail.gmail.com>
Date: Tue, 14 Apr 2020 20:32:32 +0200
From: Ard Biesheuvel <ardb@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jörg Otte <jrg.otte@...il.com>,
linux-efi <linux-efi@...r.kernel.org>,
Arvind Sankar <nivedita@...m.mit.edu>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Kernel V5.7-rc1 doesn't boot (EFI?)
On Tue, 14 Apr 2020 at 20:27, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> On Tue, Apr 14, 2020 at 3:50 AM Ard Biesheuvel <ardb@...nel.org> wrote:
> >
> > [*] GRUB on x86 turns out not to zero initialize BSS when it invokes
> > the EFI stub as a PE/COFF executable
>
> The fix seems to be to put all globals in the .data section, even if
> they don't have initializers.
>
> That seems very fragile. Very easy to forget to not declare some
> static variable with __efistub_global.
>
> Could we not make the EFI stub code zero out the BSS itself? Perhaps
> setting a warning flag (for a later printout) if it wasn't already
> zero, so that people could point fingers are buggy loaders..
>
That is the quick fix, but Arvind is working on getting rid of
__efistub_global entirely, and use the right linker foo to put .bss in
.data. This gives a tiny bit of bloat, but we are talking about a
handful of bools here.
Powered by blists - more mailing lists