summaryrefslogtreecommitdiff
path: root/stand
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2020-02-12 22:29:08 +0000
committerKyle Evans <kevans@FreeBSD.org>2020-02-12 22:29:08 +0000
commit6b197e58f60021c7a9ce920548928776062084ed (patch)
tree5ac428da78c8999f9b65697fb774714d2816fe04 /stand
parent6c4a4f1bc2ebeecd8f5bb2d4eaf709df29730dd5 (diff)
downloadsrc-test2-6b197e58f60021c7a9ce920548928776062084ed.tar.gz
src-test2-6b197e58f60021c7a9ce920548928776062084ed.zip
Notes
Diffstat (limited to 'stand')
-rw-r--r--stand/efi/loader/main.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
index 4f736b9f30ec..700ad6bec5a4 100644
--- a/stand/efi/loader/main.c
+++ b/stand/efi/loader/main.c
@@ -180,8 +180,17 @@ static void
set_currdev(const char *devname)
{
- env_setenv("currdev", EV_VOLATILE, devname, efi_setcurrdev, env_nounset);
- env_setenv("loaddev", EV_VOLATILE, devname, env_noset, env_nounset);
+ /*
+ * Don't execute hooks here; we may need to try setting these more than
+ * once here if we're probing for the ZFS pool we're supposed to boot.
+ * The currdev hook is intended to just validate user input anyways,
+ * while the loaddev hook makes it immutable once we've determined what
+ * the proper currdev is.
+ */
+ env_setenv("currdev", EV_VOLATILE | EV_NOHOOK, devname, efi_setcurrdev,
+ env_nounset);
+ env_setenv("loaddev", EV_VOLATILE | EV_NOHOOK, devname, env_noset,
+ env_nounset);
}
static void