lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Jul 2015 15:03:18 -0700 (PDT)
From:	David Rientjes <rientjes@...gle.com>
To:	"Michael Kerrisk (man-pages)" <mtk.manpages@...il.com>
cc:	Hugh Dickins <hughd@...gle.com>,
	Davide Libenzi <davidel@...ilserver.org>,
	Eric B Munson <emunson@...mai.com>,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org,
	linux-man@...r.kernel.org
Subject: Re: [patch] mmap.2: document the munmap exception for underlying
 page size

On Wed, 22 Jul 2015, Michael Kerrisk (man-pages) wrote:

> > 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.
> 
> ?
> 

Of the hugetlb page size, yes, which was meant by the "underlying page 
size" since we have configurable hugetlb sizes.  This is different from 
the native page size, whereas the length is rounded up to be page aligned 
per POSIX.

> Are there any requirements about 'addr'? Must it also me huge-page-aligned?
> 

Yes, so it looks like we need to fix up the reference to "address addr 
must be a multiple of the page size" to something like "address addr must 
be a multiple of the underlying page size" but I think the distinction 
isn't explicit enough as I'd like it.  I think it's better to explicitly 
show the exception for hugetlb page sizes and compare the underlying page 
size to the native page size to define how the behavior differs.

Would something like

	An exception is when the underlying memory, such as hugetlb 
	memory, is not of the native page size: the address addr and
	the length must be a multiple of the underlying page size.

suffice?

Also, is it typical to reference the commit of the documentation change 
in the kernel source that defines this?  I see this done with .\" blocks 
for MAP_STACK in the same man page.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ