Hi David, On 07/22/2015 02:41 AM, David Rientjes wrote: > munmap(2) will fail with an errno of EINVAL for hugetlb memory if the > length is not a multiple of the underlying page size. > > Documentation/vm/hugetlbpage.txt was updated to specify this behavior > since Linux 4.1 in commit 80d6b94bd69a ("mm, doc: cleanup and clarify > munmap behavior for hugetlb memory"). > > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> > --- > man2/mmap.2 | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/man2/mmap.2 b/man2/mmap.2 > --- a/man2/mmap.2 > +++ b/man2/mmap.2 > @@ -383,6 +383,10 @@ All pages containing a part > of the indicated range are unmapped, and subsequent references > to these pages will generate > .BR SIGSEGV . > +An exception is when the underlying memory is not of the native page > +size, such as hugetlb page sizes, whereas > +.I length > +must be a multiple of the underlying page size. > It is not an error if the > indicated range does not contain any mapped pages. > .SS Timestamps changes for file-backed mappings I'm struggling a bit to understand your text. Is the point this: If we have a hugetlb area, then the munmap() length must be a multiple of the page size. ? Are there any requirements about 'addr'? Must it also me huge-page-aligned? Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html