Re: git: 3915ffb1c3e0 - main - loader.efi: Fix when staging moves late
- In reply to: Warner Losh : "git: 3915ffb1c3e0 - main - loader.efi: Fix when staging moves late"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 06 Jun 2026 16:49:36 UTC
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:7