grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v8 18/22] cryptodisk: Fallback to passphrase


From: Gary Lin
Subject: [PATCH v8 18/22] cryptodisk: Fallback to passphrase
Date: Tue, 16 Jan 2024 17:20:56 +0800

From: Patrick Colp <patrick.colp@oracle.com>

If a protector is specified, but it fails to unlock the disk, fall back
to asking for the passphrase. However, an error was set indicating that
the protector(s) failed. Later code (e.g., LUKS code) fails as
`grub_errno` is now set. Print the existing errors out first, before
proceeding with the passphrase.

Signed-off-by: Patrick Colp <patrick.colp@oracle.com>
Signed-off-by: Gary Lin <glin@suse.com>
---
 grub-core/disk/cryptodisk.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
index dba5efa61..bbb9a56b5 100644
--- a/grub-core/disk/cryptodisk.c
+++ b/grub-core/disk/cryptodisk.c
@@ -1191,11 +1191,16 @@ grub_cryptodisk_scan_device_real (const char *name,
                  source->name, source->partition != NULL ? "," : "",
                  part != NULL ? part : N_("UNKNOWN"), dev->uuid);
       grub_free (part);
-      goto error;
     }
 
   if (!cargs->key_len)
     {
+      if (grub_errno)
+       {
+         grub_print_error ();
+         grub_errno = GRUB_ERR_NONE;
+       }
+
       /* Get the passphrase from the user, if no key data. */
       askpass = 1;
       part = grub_partition_get_name (source->partition);
-- 
2.35.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]