On 9/3/19 1:36 PM, Thomas HellstrÃm (VMware) wrote:
So the question here should really be, can we determine already at mmapI'm not connecting the dots.
time whether backing memory will be unencrypted and adjust the *real*
vma->vm_page_prot under the mmap_sem?
Possibly, but that requires populating the buffer with memory at mmap
time rather than at first fault time.
vma->vm_page_prot is used to create a VMA's PTEs regardless of if they
are created at mmap() or fault time. If we establish a good
vma->vm_page_prot, can't we just use it forever for demand faults?
Or, are you concerned that if an attempt is made to demand-fault page
that's incompatible with vma->vm_page_prot that we have to SEGV?
And it still requires knowledge whether the device DMA is alwaysI may be getting mixed up on MKTME (the Intel memory encryption) and
unencrypted (or if SEV is active).
SEV. Is SEV supported on all memory types? Page cache, hugetlbfs,
anonymous? Or just anonymous?