Remove PG_U from the recursive pte for kernel pmap' PML4 page.

This PML4 page is never used for the userspace process, so there is no
security implications.  But the configuration trips SMAP check, which
should be corrected.

Reviewed by:	alc, markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
This commit is contained in:
Konstantin Belousov 2018-05-09 12:03:40 +00:00
parent 782360dec3
commit 5aaa5bc3d6

View File

@ -1060,7 +1060,7 @@ create_pagetables(vm_paddr_t *firstaddr)
/* And recursively map PML4 to itself in order to get PTmap */
p4_p = (pml4_entry_t *)KPML4phys;
p4_p[PML4PML4I] = KPML4phys;
p4_p[PML4PML4I] |= X86_PG_RW | X86_PG_V | PG_U | pg_nx;
p4_p[PML4PML4I] |= X86_PG_RW | X86_PG_V | pg_nx;
/* Connect the Direct Map slot(s) up to the PML4. */
for (i = 0; i < ndmpdpphys; i++) {