Re: [patch] mmap.2: document the munmap exception for underlying page size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]