Date: Sat, 6 Jun 2026 16:49:36 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: Warner Losh <imp@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 3915ffb1c3e0 - main - loader.efi: Fix when staging moves late Message-ID: <48s4sp9p-3r66-9886-2455-32n94407qrs@mnoonqbm.arg> In-Reply-To: <6a23770c.38eb9.20880b83@gitrepo.freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Sat, 6 Jun 2026, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3915ffb1c3e04b26d1506bf35d3f665b2e25a915 > > commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915 > Author: Warner Losh <imp@FreeBSD.org> > AuthorDate: 2026-06-05 05:18:40 +0000 > Commit: Warner Losh <imp@FreeBSD.org> > CommitDate: 2026-06-06 01:24:42 +0000 > > loader.efi: Fix when staging moves late > > Prior to this commit, we'd compute the page tables and have the last > entries point to the staging area. We'd then add some more metadata to > the image and boot. This assumed the staging area didn't need to move > for this last bit of data. > > However, if we go over the staging limit, when we copyin new data, we > grow the staging area, usually be moving it to a lower address. This > overage usually happens when we're loading modules and so things work > out nicely. Sometimes we're close to the limit, and we need to do this > growing inside bi_load, after we've computed the page table, making the > page table wrong, and the code we jump to random rather than the btext > routine we normally start at. > > To fix this, move computation of the table (but not its allocation) to > after bi_load, but before we call the trampoline. > > This problem was most observed when loading microcode for many peole, > but Gleb reproduced the error with a set of modules that didn't include > ucode. I looked through the PR (not all of it) and I have seen little explanations of how this bug was observed as a user, as in how far did the boot process get (possibly with beasty disabled). The reason I am asking is that I am wondering if the various occasions where people in the last years have seen "Booting [/boot/kernel/kernel]...", possibly "Loading splash ok" but never saw the boot marker "---<<BOOT>>---" (or any things in between) anymore could have been the same bug? > PR: 294630 > Reviewed by: kib (prior version) > Sponsored by: Netflix > MFC After: insta per re@ request > Differential Revision: https://reviews.freebsd.org/D57462 -- Bjoern A. Zeeb r15:7home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48s4sp9p-3r66-9886-2455-32n94407qrs>
