All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: Dave Young <dyoung@redhat.com>,
	pjones@redhat.com, daniel.kiper@oracle.com,
	Leif Lindholm <leif@nuviainc.com>
Cc: Arvind Sankar <nivedita@alum.mit.edu>,
	Borislav Petkov <bp@alien8.de>, Sergey Shatunov <me@prok.pw>,
	hpa@zytor.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	mingo@redhat.com, Thomas Gleixner <tglx@linutronix.de>,
	x86@kernel.org, linux-efi <linux-efi@vger.kernel.org>,
	initramfs@vger.kernel.org,
	Donovan Tremura <neurognostic@protonmail.ch>,
	Harald Hoyer <harald@hoyer.xyz>
Subject: Re: [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data
Date: Wed, 8 Apr 2020 09:49:15 +0200	[thread overview]
Message-ID: <CAMj1kXGPOZ6zWtgGScLy0ECrTtf1yhngDTNE1chW-MQw3XQp9Q@mail.gmail.com> (raw)
In-Reply-To: <20200408074334.GA21886@dhcp-128-65.nay.redhat.com>

(add Peter, Leif and Daniel)

On Wed, 8 Apr 2020 at 09:43, Dave Young <dyoung@redhat.com> wrote:
>
> On 04/06/20 at 02:06pm, Arvind Sankar wrote:
> > Commit
> >
> >   3ee372ccce4d ("x86/boot/compressed/64: Remove .bss/.pgtable from
> >   bzImage")
> >
> > removed the .bss section from the bzImage.
> >
> > However, while a PE loader is required to zero-initialize the .bss
> > section before calling the PE entry point, the EFI handover protocol
> > does not currently document any requirement that .bss be initialized by
> > the bootloader prior to calling the handover entry.
> >
> > When systemd-boot is used to boot a unified kernel image [1], the image
> > is constructed by embedding the bzImage as a .linux section in a PE
> > executable that contains a small stub loader from systemd together with
> > additional sections and potentially an initrd. As the .bss section
> > within the bzImage is no longer explicitly present as part of the file,
> > it is not initialized before calling the EFI handover entry.
> > Furthermore, as the size of the embedded .linux section is only the size
> > of the bzImage file itself, the .bss section's memory may not even have
> > been allocated.
>
> I did not follow up the old report, maybe I missed something. But not
> sure why only systemd-boot is mentioned here.  I also have similar issue
> with early efi failure.  With these two patches applied, it works well
> then.
>
> BTW, I use Fedora 31 + Grub2
>

OK, so I take it this means that GRUB's PE/COFF loader does not
zero-initialize BSS either? Does it honor the image size in memory if
it exceeds the file size?

WARNING: multiple messages have this Message-ID (diff)
From: Ard Biesheuvel <ardb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Leif Lindholm <leif-e2DmVA6dwcVWk0Htik3J/w@public.gmane.org>
Cc: Arvind Sankar <nivedita-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org>,
	Borislav Petkov <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>,
	Sergey Shatunov <me-fHUSW+XspFU@public.gmane.org>,
	hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-efi <linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Donovan Tremura
	<neurognostic-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>,
	Harald Hoyer <harald-PnQE6hpDOpmlVyrhU4qvOw@public.gmane.org>
Subject: Re: [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data
Date: Wed, 8 Apr 2020 09:49:15 +0200	[thread overview]
Message-ID: <CAMj1kXGPOZ6zWtgGScLy0ECrTtf1yhngDTNE1chW-MQw3XQp9Q@mail.gmail.com> (raw)
In-Reply-To: <20200408074334.GA21886-0VdLhd/A9Pl+NNSt+8eSiB/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>

(add Peter, Leif and Daniel)

On Wed, 8 Apr 2020 at 09:43, Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>
> On 04/06/20 at 02:06pm, Arvind Sankar wrote:
> > Commit
> >
> >   3ee372ccce4d ("x86/boot/compressed/64: Remove .bss/.pgtable from
> >   bzImage")
> >
> > removed the .bss section from the bzImage.
> >
> > However, while a PE loader is required to zero-initialize the .bss
> > section before calling the PE entry point, the EFI handover protocol
> > does not currently document any requirement that .bss be initialized by
> > the bootloader prior to calling the handover entry.
> >
> > When systemd-boot is used to boot a unified kernel image [1], the image
> > is constructed by embedding the bzImage as a .linux section in a PE
> > executable that contains a small stub loader from systemd together with
> > additional sections and potentially an initrd. As the .bss section
> > within the bzImage is no longer explicitly present as part of the file,
> > it is not initialized before calling the EFI handover entry.
> > Furthermore, as the size of the embedded .linux section is only the size
> > of the bzImage file itself, the .bss section's memory may not even have
> > been allocated.
>
> I did not follow up the old report, maybe I missed something. But not
> sure why only systemd-boot is mentioned here.  I also have similar issue
> with early efi failure.  With these two patches applied, it works well
> then.
>
> BTW, I use Fedora 31 + Grub2
>

OK, so I take it this means that GRUB's PE/COFF loader does not
zero-initialize BSS either? Does it honor the image size in memory if
it exceeds the file size?

  reply	other threads:[~2020-04-08  7:49 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-09 15:02 [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable from bzImage Arvind Sankar
2020-01-09 15:02 ` [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections " Arvind Sankar
2020-02-06 11:44   ` Kees Cook
2020-02-19 16:55   ` [tip: x86/boot] " tip-bot2 for Arvind Sankar
2020-02-22  5:08   ` [PATCH 2/2] " Nathan Chancellor
2020-02-22  6:55     ` Borislav Petkov
2020-02-22  7:02       ` Nathan Chancellor
2020-02-22  7:21         ` Fangrui Song
2020-02-22  7:42           ` Nathan Chancellor
2020-02-22 15:37             ` Arvind Sankar
2020-02-22 16:44               ` Arvind Sankar
2020-02-22 17:18                 ` [PATCH] x86/boot/compressed: Fix compressed kernel linking with lld Arvind Sankar
2020-02-22 18:14                   ` Nathan Chancellor
2020-02-22 18:58                     ` Fangrui Song
2020-02-22 20:17                       ` Arvind Sankar
2020-02-22 21:01                         ` Fangrui Song
2020-02-22 23:33                           ` Nick Desaulniers
2020-02-22 23:57                             ` Arvind Sankar
2020-02-23 19:37                               ` [PATCH 0/2] Stop generating .eh_frame sections Arvind Sankar
2020-02-24  4:15                                 ` Nathan Chancellor
2020-02-24 20:49                                 ` Nick Desaulniers
2020-02-24 21:53                                   ` Arvind Sankar
2020-02-24 22:01                                     ` Nick Desaulniers
2020-02-23 19:37                               ` [PATCH 1/2] arch/x86: Use -fno-asynchronous-unwind-tables to suppress " Arvind Sankar
2020-02-24 20:33                                 ` Nick Desaulniers
2020-02-24 21:05                                   ` Arvind Sankar
2020-02-24 21:12                                     ` Fangrui Song
2020-02-24 21:17                                       ` Nick Desaulniers
2020-02-24 21:22                                         ` Nick Desaulniers
2020-02-23 19:37                               ` [PATCH 2/2] arch/x86: Drop unneeded linker script discard of .eh_frame Arvind Sankar
2020-02-24 20:45                                 ` Nick Desaulniers
2020-02-24 21:33                                   ` Arvind Sankar
2020-02-24 21:58                                     ` Nick Desaulniers
2020-02-24 23:21                                       ` [PATCH v2 0/2] Stop generating .eh_frame sections Arvind Sankar
2020-02-24 23:21                                       ` [PATCH v2 1/2] arch/x86: Use -fno-asynchronous-unwind-tables to suppress " Arvind Sankar
2020-02-24 23:28                                         ` Nathan Chancellor
2020-02-24 23:30                                         ` Nick Desaulniers
2020-02-25  4:10                                         ` Kees Cook
2020-02-25 16:53                                         ` [tip: x86/boot] x86/*/Makefile: " tip-bot2 for Arvind Sankar
2020-02-24 23:21                                       ` [PATCH v2 2/2] arch/x86: Drop unneeded linker script discard of .eh_frame Arvind Sankar
2020-02-24 23:28                                         ` Nathan Chancellor
2020-02-24 23:33                                         ` Nick Desaulniers
2020-02-25  4:11                                         ` Kees Cook
2020-02-25 16:53                                         ` [tip: x86/boot] x86/vmlinux: " tip-bot2 for Arvind Sankar
2020-02-23 22:00                           ` [PATCH] x86/boot/compressed: Fix compressed kernel linking with lld Kees Cook
2020-02-24  6:06                             ` Fangrui Song
2020-02-22 17:29                 ` [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections from bzImage Borislav Petkov
2020-02-22 17:53                   ` Arvind Sankar
2020-02-22  7:42           ` Borislav Petkov
2020-02-22 16:22             ` Arvind Sankar
2020-02-22 23:20               ` Nick Desaulniers
2020-02-24 13:28                 ` Michael Matz
2020-02-24 20:51                   ` Nick Desaulniers
2020-02-24 21:28                     ` Fangrui Song
2020-02-24 21:48                       ` Arvind Sankar
2020-02-24 22:17                         ` Fangrui Song
2020-02-24 22:43                           ` Arvind Sankar
2020-02-24 22:50                             ` Fangrui Song
2020-02-24 23:08                               ` Arvind Sankar
2020-02-25  5:35                 ` --orphan-handling=warn (was Re: [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections) " Kees Cook
2020-02-25 16:42                   ` --orphan-handling=warn Arvind Sankar
2020-02-25 18:29                   ` --orphan-handling=warn Arvind Sankar
2020-02-25 19:42                     ` --orphan-handling=warn Kees Cook
2020-02-25 20:37                       ` --orphan-handling=warn Nick Desaulniers
2020-02-25 22:02                         ` --orphan-handling=warn Kees Cook
2020-02-26  1:56                           ` --orphan-handling=warn Fangrui Song
2020-02-26  5:35                             ` --orphan-handling=warn Kees Cook
2020-02-26 19:11                               ` --orphan-handling=warn Kristen Carlson Accardi
2020-02-26 19:26                                 ` --orphan-handling=warn Nick Desaulniers
2020-02-24 11:37   ` [tip: x86/boot] x86/boot/compressed: Remove .eh_frame section from bzImage tip-bot2 for Arvind Sankar
2020-02-24 16:41     ` Arvind Sankar
2020-02-24 17:16       ` Borislav Petkov
2020-02-24 17:28         ` Arvind Sankar
2020-02-05 16:29 ` [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable " Arvind Sankar
2020-02-18 18:03   ` Arvind Sankar
2020-02-19 12:09     ` Borislav Petkov
2020-02-19 17:57       ` Arvind Sankar
2020-02-19 18:22         ` Borislav Petkov
2020-02-19 19:06           ` Arvind Sankar
2020-02-06 11:18 ` Kees Cook
2020-02-19 16:55 ` [tip: x86/boot] " tip-bot2 for Arvind Sankar
2020-04-05 15:42 ` [PATCH 1/2] " Sergey Shatunov
2020-04-05 23:18   ` Arvind Sankar
2020-04-06  0:00     ` Sergey Shatunov
2020-04-06  3:51       ` Arvind Sankar
2020-04-06  3:51         ` Arvind Sankar
2020-04-06  7:32         ` Ard Biesheuvel
2020-04-06  8:47           ` Borislav Petkov
2020-04-06  9:11             ` Ard Biesheuvel
2020-04-06  9:11               ` Ard Biesheuvel
2020-04-06 11:20               ` Borislav Petkov
2020-04-06 11:20                 ` Borislav Petkov
2020-04-06 13:22                 ` Arvind Sankar
2020-04-06 13:29                   ` Ard Biesheuvel
2020-04-06 13:29                     ` Ard Biesheuvel
2020-04-06 16:01                     ` Arvind Sankar
2020-04-06 16:01                       ` Arvind Sankar
2020-04-06 16:22                       ` Ard Biesheuvel
2020-04-06 16:22                         ` Ard Biesheuvel
2020-04-06 16:52                         ` Arvind Sankar
2020-04-06 16:52                           ` Arvind Sankar
2020-04-06 16:59                           ` Ard Biesheuvel
2020-04-06 18:06                             ` [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data Arvind Sankar
2020-04-06 18:06                               ` Arvind Sankar
2020-04-06 18:06                               ` [PATCH 2/2] efi/x86: Always relocate the kernel for EFI handover entry Arvind Sankar
2020-04-14  8:20                                 ` [tip: efi/urgent] " tip-bot2 for Arvind Sankar
2020-04-06 18:29                               ` [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data Ard Biesheuvel
2020-04-06 18:29                                 ` Ard Biesheuvel
2020-04-08  7:43                               ` Dave Young
2020-04-08  7:43                                 ` Dave Young
2020-04-08  7:49                                 ` Ard Biesheuvel [this message]
2020-04-08  7:49                                   ` Ard Biesheuvel
2020-04-09 14:39                                   ` Arvind Sankar
2020-04-09 14:47                                     ` Ard Biesheuvel
2020-04-09 16:35                                       ` Arvind Sankar
2020-04-09 16:35                                         ` Arvind Sankar
2020-04-10 14:47                                         ` Arvind Sankar
2020-04-10 14:47                                           ` Arvind Sankar
2020-04-10 15:26                                           ` Ard Biesheuvel
2020-04-14 14:57                                             ` Daniel Kiper
2020-04-14 14:57                                               ` Daniel Kiper
2020-04-10 11:26                               ` Thomas Meyer
2020-04-10 14:38                                 ` Arvind Sankar
2020-04-11  8:50                                   ` Thomas Meyer
2020-04-14  8:20                               ` [tip: efi/urgent] " tip-bot2 for Arvind Sankar
2020-04-06 17:21                     ` [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable from bzImage Borislav Petkov
2020-04-06 17:21                       ` Borislav Petkov
2020-04-06  8:44     ` Ard Biesheuvel
2020-04-06 12:36       ` Sergey Shatunov
2020-04-06 13:20         ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMj1kXGPOZ6zWtgGScLy0ECrTtf1yhngDTNE1chW-MQw3XQp9Q@mail.gmail.com \
    --to=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=daniel.kiper@oracle.com \
    --cc=dyoung@redhat.com \
    --cc=harald@hoyer.xyz \
    --cc=hpa@zytor.com \
    --cc=initramfs@vger.kernel.org \
    --cc=leif@nuviainc.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=me@prok.pw \
    --cc=mingo@redhat.com \
    --cc=neurognostic@protonmail.ch \
    --cc=nivedita@alum.mit.edu \
    --cc=pjones@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.