Page MenuHomeFreeBSD

Add BTI exceptions
ClosedPublic

Authored by andrew on Apr 6 2023, 4:09 PM.
Tags
None
Referenced Files
F153273763: D39450.diff
Mon, Apr 20, 4:38 AM
Unknown Object (File)
Sat, Apr 18, 6:44 PM
Unknown Object (File)
Thu, Apr 2, 1:27 AM
Unknown Object (File)
Sun, Mar 29, 10:00 AM
Unknown Object (File)
Sat, Mar 28, 7:59 PM
Unknown Object (File)
Sat, Mar 28, 2:35 AM
Unknown Object (File)
Mar 20 2026, 7:20 AM
Unknown Object (File)
Mar 19 2026, 3:20 AM
Subscribers

Details

Summary

We could hit these when executing code marked as using BTI but jumps
to a non-branch target instruction.

Sponsored by: Arm Ltd
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/arm64/arm64/trap.c
708

it's too bad there's not something like ILL_ILLBRANCH or such, but it looks like ILL_ILLOPC is consistent with Linux

sys/arm64/arm64/trap.c
708

Nothing prevents us from adding specific si_value if it is useful.

This looks good to me... Will have to remember to check qemu's bsd-user to add this.

sys/arm64/arm64/trap.c
708

We set si_trapno to the exception number if userspace needs to know it's a BTI exception.

This revision was not accepted when it landed; it landed in state Needs Review.Sep 22 2023, 5:17 PM
Closed by commit rG450f731b7f23: Add BTI exceptions (authored by andrew). · Explain Why
This revision was automatically updated to reflect the committed changes.