On Fri, Jun 21, 2019 at 04:07:53AM +0300, Jarkko Sakkinen wrote: > /** > * sgx_calc_vma_prot_intersection() - Calculate intersection of the permissions > * for a VMA > * @encl: an enclave > * @vma: a VMA inside the enclave > * > * Iterate through the page addresses inside the VMA and calculate a bitmask > * of permissions that all pages have in common. Page addresses that do > * not have an associated enclave page are interpreted to zero > * permissions. > */ > > > +static unsigned long sgx_allowed_rwx(struct sgx_encl *encl, > > + struct vm_area_struct *vma) > > Suggestion for the name: sgx_calc_vma_prot_intersection() And have you thought off caching these results? I.e. hold the result for each VMA and only recalculate when the old value is dirty. Just a random thought, zero analysis but though that good to mention anyway. /Jarkko