From: osy@turing.llc
To: Pedro Falcato <pedro.falcato@gmail.com>
Cc: devel@edk2.groups.io, Ard Biesheuvel <ardb@kernel.org>,
Gerd Hoffmann <kraxel@redhat.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
dann frazier <dann.frazier@canonical.com>
Subject: Re: [edk2-devel] ArmVirtPkg: non-executable EFI_LOADER_DATA breaks GRUB on Ubuntu 22.04
Date: Mon, 10 Jul 2023 10:09:28 -0700 [thread overview]
Message-ID: <CA+E+eSCsaMuGB=qCqU5vznnVG-k_36vWL9QZ5D_yEKqnchqExg@mail.gmail.com> (raw)
In-Reply-To: <CAKbZUD3xob5az6W=zzu7RVijD42HgXoAp+XJeEWNc7KSzEtytA@mail.gmail.com>
On Mon, Jul 10, 2023 at 8:58 AM Pedro Falcato <pedro.falcato@gmail.com> wrote:
>
> On Mon, Jul 10, 2023 at 2:28 PM <osy@turing.llc> wrote:
> >
> > I have an existing install of Ubuntu 22.04 on a QEMU virtual machine which I've decided to update the UEFI firmware. After doing so, GRUB no longer boots ("Synchronous Exception" message seen). After a git bisect session, I found the problematic 2997ae38739756ecba9b0de19e86032ebc689ef9. The comment says GRUB should have been fixed in 2017, but for one reason or another, my VM which was built in 2022 still had the issue. Regardless, I don't think it's a good idea to break GRUB, even if it's fixed in 2017. In the very least, a better error message would be preferable to crashing with an "Synchronous Exception." Googling this error message shows that other people may be hitting this issue as well but the vague error symptom means its impossible to know if it's the same issue or not.
>
> +CC Some of the folks involved in the original discussion
>
> In the original thread, people discussed some alternative behavior to
> just crashing on a NX fault. Is this still an alternative?
> I'm kind of thinking this should be addressed by distros anyway....
> How is $CURRENT_YEAR Ubuntu still shipping bad GRUBs? I know the
> situation around GRUB and distro patching is complicated but...
> Do we have any idea of how many distros/GRUBs are affected by this?
>
> Personally, I would like to avoid loosening up memory permissions.
>
> --
> Pedro
I agree with the desire to be more secure, but the way I see it is
that the firmware's first priority is to load the bootloader and
gracefully hand off control. The fact that a bootloader is "too old"
shouldn't be a reason to just crash and die. Once downstream projects
like QEMU start picking up this change, this could potentially become
an issue for a lot of users. If the EDK2 project decides that there is
no technical way to both have secure memory permissions and support
older GRUB installs, I think this breakage must be communicated
effectively and be made explicit. I agree that distros probably
shouldn't ship bad GRUBs (here's a bug report in Fedora addressing the
same issue https://bugzilla.redhat.com/show_bug.cgi?id=2149020) and
perhaps they have already fixed it but at the end of the day, the UEFI
firmware likely isn't maintained by the distros. When a user updates
their firmware (from QEMU or from a board vendor), they don't expect
their OS to stop booting. If this happened on real hardware, it could
actually be a real pain to downgrade the firmware or recover and
update GRUB.
next prev parent reply other threads:[~2023-07-10 17:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-08 21:16 ArmVirtPkg: non-executable EFI_LOADER_DATA breaks GRUB on Ubuntu 22.04 osy
2023-07-10 15:58 ` [edk2-devel] " Pedro Falcato
2023-07-10 17:09 ` osy [this message]
2023-07-11 6:58 ` Gerd Hoffmann
2023-07-13 16:57 ` Pedro Falcato
2023-07-13 17:20 ` Ard Biesheuvel
2023-07-13 17:41 ` Pedro Falcato
2023-07-13 18:22 ` Oliver Smith-Denny
2023-07-13 23:03 ` Michael D Kinney
2023-07-17 9:30 ` Gerd Hoffmann
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-list 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='CA+E+eSCsaMuGB=qCqU5vznnVG-k_36vWL9QZ5D_yEKqnchqExg@mail.gmail.com' \
--to=devel@edk2.groups.io \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox