HomeFreeBSD

vtopte()/vtopde() can never be used to lookup the PTE/PDE associated with
rS252192Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

vtopte()/vtopde() can never be used to lookup the PTE/PDE associated with
a guest physical address since the page tables pointed to by the nested pmap
are never installed in the host %cr3.

The recursive mapping used by these functions will end up using the page
tables associated with the host thread that provides the execution context
for the vcpu - which is clearly wrong!

Since the user virtual address space is numerically identical to the
guest physical address space this restriction can be expressed in terms
of VM_MAXUSER_ADDRESS.

This is safe because the amd64/pmap code never uses vtopte()/vtopde() for
user virtual addresses.

Details

Provenance
neelAuthored on
Parents
rS252191: Tag wpa_supplicant / hostapd 2.0.
Branches
Unknown
Tags
Unknown

Event Timeline