HomeFreeBSD

x86 pmap: Make memory mapped via pmap_qenter() non-executable

Description

x86 pmap: Make memory mapped via pmap_qenter() non-executable

The idea is, the pmap_qenter() API is now defined to not produce executable
mappings. If you need executable mappings, use another API.

Add pg_nx flag in pmap_qenter on x86 to make kernel pages non-executable.

Other architectures that support execute-specific permissons on page table
entries should subsequently be updated to match.

Submitted by: Darrick Lew <darrick.freebsd AT gmail.com>
Reviewed by: markj
Discussed with: alc, jhb, kib
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D14062

Details

Provenance
cemAuthored on
Reviewer
markj
Differential Revision
D14062: Make memory mapped via pmap_qenter() non-executable for amd64/i386.
Parents
rS329280: MFC r320387:
Branches
Unknown
Tags
Unknown