Page MenuHomeFreeBSD

Add support for Privileged Access Never (PAN)
ClosedPublic

Authored by andrew on Apr 12 2017, 1:36 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 28 2024, 4:13 AM
Unknown Object (File)
Jan 8 2024, 9:35 PM
Unknown Object (File)
Jan 6 2024, 11:48 AM
Unknown Object (File)
Dec 20 2023, 8:33 AM
Unknown Object (File)
Dec 9 2023, 5:24 AM
Unknown Object (File)
Nov 17 2023, 2:07 AM
Unknown Object (File)
Nov 16 2023, 7:49 PM
Unknown Object (File)
Oct 30 2023, 9:37 PM
Subscribers

Details

Summary

In ARMv8.1 ARM has added a process state bit to disable access to userspace
from the kernel. Make use of this to restrict accessing userspace to just
the functions that explicitly handle crossing the user kernel boundary.

Test Plan

Booted on ThunderX Pass 1.1 (no PAN), and 2.0 (with PAN).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Do we need to set SCTLR_EL1.SPAN to 1 ?

In D10371#214953, @kib wrote:

Do we need to set SCTLR_EL1.SPAN to 1 ?

No, we need to clear it so PSTATE.PAN is set to 1 on exception entry.

In D10371#214953, @kib wrote:

Do we need to set SCTLR_EL1.SPAN to 1 ?

No, we need to clear it so PSTATE.PAN is set to 1 on exception entry.

Right, clear, not set.

This revision is now accepted and ready to land.Apr 13 2017, 12:42 PM
This revision was automatically updated to reflect the committed changes.