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