git: c901f931f6eb - stable/14 - bhyve: fix boot device ordering
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Sep 2026 18:43:59 UTC
The branch stable/14 has been updated by novel:
URL: https://cgit.FreeBSD.org/src/commit/?id=c901f931f6eb102cc0347fddb71bdb409374bdf9
commit c901f931f6eb102cc0347fddb71bdb409374bdf9
Author: Roman Bogorodskiy <novel@FreeBSD.org>
AuthorDate: 2026-09-20 14:41:55 +0000
Commit: Roman Bogorodskiy <novel@FreeBSD.org>
CommitDate: 2026-09-28 18:39:05 +0000
bhyve: fix boot device ordering
EDK2's QemuBootOrderLib inspects the bootorder file provided
via fw_cfg and requires it to be NUL-terminated. Otherwise,
it rejects the supplied bootorder and falls back to its
default boot order.
Currently, bhyve registers bootorder with qemu_fwcfg_add_file()
using bootorder_len returned by open_memstream(), which excludes
the trailing NUL byte.
Fix that by passing bootorder_len + 1 to qemu_fwcfg_add_file() so
the fw_cfg payload is properly NUL-terminated.
PR: 279720
Reviewed by: markj
Found with: codex (gpt-5.6-sol)
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59859
(cherry picked from commit b27a221ef79d6d77d6173897f12118e1126453d8)
---
usr.sbin/bhyve/pci_emul.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c
index 238c4780088e..49e6b6136ff8 100644
--- a/usr.sbin/bhyve/pci_emul.c
+++ b/usr.sbin/bhyve/pci_emul.c
@@ -1482,7 +1482,7 @@ init_bootorder(void)
}
fclose(fp);
- return (qemu_fwcfg_add_file("bootorder", bootorder_len, bootorder));
+ return (qemu_fwcfg_add_file("bootorder", bootorder_len + 1, bootorder));
}
#define BUSIO_ROUNDUP 32