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)
Wed, Jul 24, 2:57 PM
Unknown Object (File)
Wed, Jul 24, 1:24 AM
Unknown Object (File)
Mon, Jul 22, 10:12 PM
Unknown Object (File)
Wed, Jul 17, 10:29 PM
Unknown Object (File)
Tue, Jul 16, 12:44 PM
Unknown Object (File)
Tue, Jul 16, 11:00 AM
Unknown Object (File)
Fri, Jul 12, 8:52 PM
Unknown Object (File)
Mon, Jul 8, 7:47 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