Re: [PATCH man-pages v4] madvise.2: add MADV_GUARD_INSTALL, MADV_GUARD_REMOVE description

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

 



On Thu, Dec 05, 2024 at 01:20:37PM +0100, Alejandro Colomar wrote:
> Hi Lorenzo, Jann,
>
> > Subject: Re: [PATCH man-pages v4] madvise.2: add MADV_GUARD_INSTALL, MADV_GUARD_REMOVE description
>
> We use uppercase after the prefix, so s/add/Add/.
>
> On Thu, Dec 05, 2024 at 10:41:25AM +0000, Lorenzo Stoakes wrote:
> > Lightweight guard region support has been added to Linux 6.13, which adds
> > MADV_GUARD_INSTALL and MADV_GUARD_REMOVE flags to the madvise() system
> > call. Therefore, update the manpage for madvise() and describe these
>
> The right amount of inter-sentence space is two.  See this:
> <https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/CONTRIBUTING.d/patches/description?id=bcf7d00fa4c7ce270f07d6e347c01b1f1e37580f>
> <https://web.archive.org/web/20171217060354/http://www.heracliteanriver.com/?p=324>
>
> > operations.
> >
> > Reviewed-by: Jann Horn <jannh@xxxxxxxxxx>
>
> Thanks for the review!
>
> > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
>
> Thanks for the patch!  I've applied it, with some minor tweaks.  See
> comments below.
> <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=bb405ee3f6039226267fb1c6d2cb1fbb18d835bf>

Thanks all seems reasonable.

Just a quick question for future changes - I see you reference
git://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git - but
I've been working against
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git - is the latter
occasionally synced from the former? Or should I be working against your
personal repo for future changes?

Thanks, Lorenzo

>
> Here's the diff that I applied when amending your patch:
>
> diff --git i/man/man2/madvise.2 w/man/man2/madvise.2
> index adb372424..fa24f6bf6 100644
> --- i/man/man2/madvise.2
> +++ w/man/man2/madvise.2
> @@ -678,7 +678,8 @@ .SS Linux-specific advice values
>  the process can be killed at any moment when the system runs out of memory.
>  .TP
>  .BR MADV_GUARD_INSTALL " (since Linux 6.13)"
> -Install a lightweight guard region into the range specified by
> +Install a lightweight guard region
> +into the range specified by
>  .I addr
>  and
>  .IR size ,
> @@ -686,22 +687,27 @@ .SS Linux-specific advice values
>  .B SIGSEGV
>  signal being raised.
>  .IP
> -If the region maps memory pages they will be cleared as part of the operation,
> +If the region maps memory pages
> +they will be cleared as part of the operation,
>  though if
>  .B MADV_GUARD_INSTALL
> -is applied to regions containing pre-existing lightweight guard regions,
> +is applied to regions
> +containing pre-existing lightweight guard regions,
>  they are left in place.
>  .IP
> -This operation is only supported for writable anonymous private mappings which
> -have not been mlock'd.
> +This operation is supported
> +only for writable anonymous private mappings
> +which have not been mlock'd.
>  An
>  .B EINVAL
>  error is returned if it is attempted on any other kind of mapping.
>  .IP
>  This operation is more efficient than mapping a new region of memory
>  .BR PROT_NONE ,
> -as it does not require the establishment of new mappings,
> -instead regions of an existing mapping simply have their page tables
> +as it does not require the establishment of new mappings.
> +Instead,
> +regions of an existing mapping
> +simply have their page tables
>  manipulated to establish the desired behavior.
>  No additional memory is used.
>  .IP
> @@ -740,12 +746,15 @@ .SS Linux-specific advice values
>  operation is applied to them.
>  .TP
>  .BR MADV_GUARD_REMOVE " (since Linux 6.13)"
> -Remove any lightweight guard regions which exist in the range specified by
> +Remove any lightweight guard regions
> +which exist in the range specified by
>  .I addr
>  and
>  .IR size .
>  .IP
> -All mappings in the range other than lightweight guard regions are left in place
> +All mappings in the range
> +other than lightweight guard regions
> +are left in place
>  (including mlock'd mappings).
>  The operation is,
>  however,
>
> > ---
> > v4:
> > * Reference function chapters as per Alejandro.
> > * Minor rewording as per Alejandro.
> >
> > v3:
> > * Don't describe SIGSEGV as a fatal signal as per Jann.
> > https://lore.kernel.org/all/20241202165829.72121-1-lorenzo.stoakes@xxxxxxxxxx
> >
> > v2:
> > * Updated to use semantic newlines as suggested by Alejandro.
>
> I've broken lines a little bit more, even though they were correct, just
> for having shorter lines.
>
> > * Avoided emboldening parens as suggested by Alejandro.
> > * One very minor grammatical fix.
> > https://lore.kernel.org/all/20241129155943.85215-1-lorenzo.stoakes@xxxxxxxxxx
> >
> > v1:
> > https://lore.kernel.org/all/20241129093205.8664-1-lorenzo.stoakes@xxxxxxxxxx
> >
> >  man/man2/madvise.2 | 93 ++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 93 insertions(+)
> >
> > diff --git a/man/man2/madvise.2 b/man/man2/madvise.2
> > index 4f2210ee2..7d682fa40 100644
> > --- a/man/man2/madvise.2
> > +++ b/man/man2/madvise.2
> > @@ -676,6 +676,91 @@ or secret memory regions created using
> >  Note that with
> >  .BR MADV_POPULATE_WRITE ,
> >  the process can be killed at any moment when the system runs out of memory.
> > +.TP
> > +.BR MADV_GUARD_INSTALL " (since Linux 6.13)"
> > +Install a lightweight guard region into the range specified by
> > +.I addr
> > +and
> > +.IR size ,
> > +causing any read or write in the range to result in a
> > +.B SIGSEGV
> > +signal being raised.
> > +.IP
> > +If the region maps memory pages they will be cleared as part of the operation,
> > +though if
> > +.B MADV_GUARD_INSTALL
> > +is applied to regions containing pre-existing lightweight guard regions,
> > +they are left in place.
> > +.IP
> > +This operation is only supported for writable anonymous private mappings which
>
> I missed this before.  It was the same misplacement of only.  :)
>
> Have a lovely day!
> Alex
>
>
> --
> <https://www.alejandro-colomar.es/>




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

  Powered by Linux