[DragonFlyBSD - Bug #3427] (In Progress) EFI page fault during kernel relocation

liweitianux bugtracker-admin at leaf.dragonflybsd.org
Wed Sep 30 19:07:49 PDT 2026


Issue #3427 has been updated by liweitianux.

Status changed from New to In Progress
Assignee set to liweitianux

Nice patch. Please adjust the patch to be a git-am patch and I'll merge it.

One more thing, is the patch derived from FreeBSD? If yes, please refer to the FreeBSD commits/reviews in the commit message.

Thank you.

----------------------------------------
Bug #3427: EFI page fault during kernel relocation
http://bugs.dragonflybsd.org/issues/3427#change-14717

* Author: sigttou
* Status: In Progress
* Priority: Normal
* Assignee: liweitianux
* Category: Kernel
* Target version: 6.6
* Start date: 2026-09-30
----------------------------------------
Problem: On an HP ProDesk 600 G4 (Intel Core i5 8500), efi_copy_finish()
faults while writing to 0x1001000. The captured #PF has error code 3
(supervisor write, protection violation) and CR0=0x80010013 (WP enabled).
Firmware maps the destination page read-only. The executable trampoline
is also allocated as EfiLoaderData.

Solution: Allocate the trampoline as EfiLoaderCode. Save CR0, clear WP only
around the relocation copy, then restore CR0 before kernel entry. Reject
active CET before leaving boot services.

---Files--------------------------------
0001-executable-trampoline.patch (478 Bytes)
0002-relocation-write-protection.patch (1.37 KB)


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account


More information about the Bugs mailing list