Page MenuHomeFreeBSD

Add support for BTI instructions in the kernel
AbandonedPublic

Authored by andrew on Dec 8 2021, 4:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 29, 8:46 AM
Unknown Object (File)
Sat, Apr 27, 6:42 AM
Unknown Object (File)
Sun, Apr 21, 4:01 PM
Unknown Object (File)
Sun, Apr 21, 4:09 AM
Unknown Object (File)
Apr 5 2024, 11:46 PM
Unknown Object (File)
Jan 21 2024, 12:42 AM
Unknown Object (File)
Dec 26 2023, 5:54 PM
Unknown Object (File)
Dec 24 2023, 11:17 AM
Subscribers

Details

Reviewers
markj
kib
scottph
manu
Group Reviewers
arm64
Summary

When the kernel is built with BTI support we need to add a guard page
flag to the page table entries for executable memory. Add this flag
and use it on all kernel executable memory.

As this creates the requirement that modules must be built for BTI if
the kernel has leave disabled until these modules can be checked to
ensure they are built this way. A module built with BTI support will
work with a kernel without it, however in this case the BTI
instructions will be nop.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 43238
Build 40126: arc lint + arc unit