mprotect and hugetlb mappings

From: Mike Kravetz
Date: Wed Jul 05 2023 - 19:11:02 EST


I was recently asked about the behavior of mprotect on a hugetlb
mapping where addr or addr+len is not hugetlb page size aligned. As
one might expect, EINVAL is returned in such cases. However, the man
page makes no mention of alignment requirements for hugetlb mappings.

I am happy to submit man page updates if people agree this is the correct
behavior. We might even want to check alignment earlier in the code
path as we fail when trying to split the vma today.

An alternative behavior would be to operate on whole hugetlb pages within
the range addr - addr+len.
--
Mike Kravetz