From: kwshi <kwshi@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gummiboot: WaitForKeyEx hanging patch
Date: Thu, 10 Dec 2020 05:27:55 +0100 [thread overview]
Message-ID: <20201210042755.P-mJ2m24nYkdMu0iBRcplLPKEn02r1pGXIwc8QeHTpc@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-27058@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 847 bytes --]
There is an updated pull request by kwshi against master on the void-packages repository
https://github.com/kwshi/void-packages gummiboot-fix-waitforkey
https://github.com/void-linux/void-packages/pull/27058
gummiboot: WaitForKeyEx hanging patch
I recently ran into a Gummiboot bug where pressing any key on boot causes the
boot menu to respond to that key (e.g. moves the highlighted entry if I press
down-arrow) but subsequently freeze (booting proceeds without issue if no key
is pressed andthe auto-timeout passes).
I found a virtually identical issue on gummiboot's "parent/fork" project
systemd-boot (systemd/systemd#3632), with an alleged fix that has been merged
(systemd/systemd#3735), so I made this PR to backport that patch to gummiboot.
A patch file from https://github.com/void-linux/void-packages/pull/27058.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gummiboot-fix-waitforkey-27058.patch --]
[-- Type: text/x-diff, Size: 2171 bytes --]
From dcc1515c8aa872c0fb8eadc76489a35890acb3ba Mon Sep 17 00:00:00 2001
From: Kye Shi <shi.kye@gmail.com>
Date: Wed, 9 Dec 2020 16:03:36 -0800
Subject: [PATCH] gummiboot: WaitForKeyEx hanging workaround (see
systemd/systemd#3735)
---
.../gummiboot/patches/fix-waitforkey.patch | 22 +++++++++++++++++++
srcpkgs/gummiboot/template | 2 +-
2 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/gummiboot/patches/fix-waitforkey.patch
diff --git a/srcpkgs/gummiboot/patches/fix-waitforkey.patch b/srcpkgs/gummiboot/patches/fix-waitforkey.patch
new file mode 100644
index 00000000000..8993bbfd449
--- /dev/null
+++ b/srcpkgs/gummiboot/patches/fix-waitforkey.patch
@@ -0,0 +1,22 @@
+This patch fixes an issue where pressing any key within the gummiboot
+menu causes it to hang (though no issue occurs if no key is pressed). The
+culprit appears to be the WaitForKeyEx function, which lacks support in certain
+UEFI implementations. This fix is backported from the same issue found in
+systemd-boot (gummiboot's mainstream counterpart): see
+<https://github.com/systemd/systemd/issues/3632> and
+<https://github.com/systemd/systemd/pull/3735>.
+
+--- src/efi/console.c 2015-03-11 16:50:35.000000000 -0700
++++ src/efi/console.c 2020-12-09 15:41:19.837704801 -0800
+@@ -96,10 +96,7 @@
+
+ /* wait until key is pressed */
+ if (wait) {
+- if (TextInputEx)
+- uefi_call_wrapper(BS->WaitForEvent, 3, 1, &TextInputEx->WaitForKeyEx, &index);
+- else
+- uefi_call_wrapper(BS->WaitForEvent, 3, 1, &ST->ConIn->WaitForKey, &index);
++ uefi_call_wrapper(BS->WaitForEvent, 3, 1, &ST->ConIn->WaitForKey, &index);
+ }
+
+ if (TextInputEx) {
diff --git a/srcpkgs/gummiboot/template b/srcpkgs/gummiboot/template
index 052776fe7ff..68e6f5be926 100644
--- a/srcpkgs/gummiboot/template
+++ b/srcpkgs/gummiboot/template
@@ -1,7 +1,7 @@
# Template file for 'gummiboot'
pkgname=gummiboot
version=48.1
-revision=6
+revision=7
archs="i686* x86_64* aarch64*"
build_style=gnu-configure
conf_files="/etc/default/gummiboot"
next prev parent reply other threads:[~2020-12-10 4:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-10 0:14 [PR PATCH] gummiboot: WaitForKeyEx hanging workaround (see systemd/systemd#3735) kwshi
2020-12-10 0:19 ` gummiboot: WaitForKeyEx hanging patch ericonr
2020-12-10 0:20 ` [PR PATCH] [Updated] " kwshi
2020-12-10 0:43 ` kwshi
2020-12-10 2:25 ` [PR PATCH] [Updated] " kwshi
2020-12-10 4:27 ` kwshi
2020-12-10 4:27 ` kwshi [this message]
2020-12-10 4:38 ` [PR PATCH] [Merged]: " ericonr
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=20201210042755.P-mJ2m24nYkdMu0iBRcplLPKEn02r1pGXIwc8QeHTpc@z \
--to=kwshi@users.noreply.github.com \
--cc=ml@inbox.vuxu.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 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).