linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Cyrill Gorcunov
	<gorcunov-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>,
	criu-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5
Date: Sat, 22 Feb 2014 10:06:22 +0100	[thread overview]
Message-ID: <5308688E.90205@gmail.com> (raw)
In-Reply-To: <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>

On 02/13/2014 01:49 AM, Kir Kolyshkin wrote:
> Some of the PR_SET_MM options were merged to vanilla kernel
> later, and appeared in Linux 3.5. Those are:
>  - PR_SET_MM_ARG_START
>  - PR_SET_MM_ARG_END
>  - PR_SET_MM_ENV_START
>  - PR_SET_MM_ENV_END
>  - PR_SET_MM_AUXV
>  - PR_SET_MM_EXE_FILE
> 
> This patch merely uncomments description and error codes
> for these options, which were present but commented out,
> and removes the appropriate FIXME marks.

Hello Kir,

Thanks for attending to this. I've applied all four of your patches.

Cheers,

Michael


> Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
> ---
>  man2/prctl.2 | 186 +++++++++++++++++++++++++++++------------------------------
>  1 file changed, 90 insertions(+), 96 deletions(-)
> 
> diff --git a/man2/prctl.2 b/man2/prctl.2
> index 70636e5..db8174a 100644
> --- a/man2/prctl.2
> +++ b/man2/prctl.2
> @@ -711,67 +711,64 @@ value.
>  The requirements for the address are the same as for the
>  .BR PR_SET_MM_START_BRK
>  option.
> -.\" FIXME The following (until ========) is not yet in mainline kernel,
> -.\" so commented out for the moment.
> -.\" .TP
> -.\" .BR PR_SET_MM_ARG_START
> -.\" Set the address above which the program command line is placed.
> -.\" .TP
> -.\" .BR PR_SET_MM_ARG_END
> -.\" Set the address below which the program command line is placed.
> -.\" .TP
> -.\" .BR PR_SET_MM_ENV_START
> -.\" Set the address above which the program environment is placed.
> -.\" .TP
> -.\" .BR PR_SET_MM_ENV_END
> -.\" Set the address below which the program environment is placed.
> -.\" .IP
> -.\" The address passed with
> -.\" .BR PR_SET_MM_ARG_START ,
> -.\" .BR PR_SET_MM_ARG_END ,
> -.\" .BR PR_SET_MM_ENV_START ,
> -.\" and
> -.\" .BR PR_SET_MM_ENV_END
> -.\" should belong to a process stack area.
> -.\" Thus, the corresponding memory area must be readable, writable, and
> -.\" (depending on the kernel configuration) have the
> -.\" .BR MAP_GROWSDOWN
> -.\" attribute set (see
> -.\" .BR mmap (2)).
> -.\" .TP
> -.\" .BR PR_SET_MM_AUXV
> -.\" Set a new auxiliary vector.
> -.\" The
> -.\" .I arg3
> -.\" argument should provide the address of the vector.
> -.\" The
> -.\" .I arg4
> -.\" is the size of the vector.
> -.\" .TP
> -.\" .BR PR_SET_MM_EXE_FILE
> -.\" Supersede the
> -.\" .IR /proc/pid/exe
> -.\" symbolic link with a new one pointing to a new executable file
> -.\" identified by the file descriptor provided in
> -.\" .I arg3
> -.\" argument.
> -.\" The file descriptor should be obtained with a regular
> -.\" .BR open (2)
> -.\" call.
> -.\" .IP
> -.\" To change the symbolic link, one needs to unmap all existing
> -.\" executable memory areas, including those created by the kernel itself
> -.\" (for example the kernel usually creates at least one executable
> -.\" memory area for the ELF
> -.\" .IR \.text
> -.\" section).
> -.\" .IP
> -.\" The second limitation is that such transitions can be done only once
> -.\" in a process life time.
> -.\" Any further attempts will be rejected.
> -.\" This should help system administrators to monitor unusual
> -.\" symbolic-link transitions over all process running in a system.
> -.\" ========== END FIXME
> +.TP
> +.BR PR_SET_MM_ARG_START
> +Set the address above which the program command line is placed.
> +.TP
> +.BR PR_SET_MM_ARG_END
> +Set the address below which the program command line is placed.
> +.TP
> +.BR PR_SET_MM_ENV_START
> +Set the address above which the program environment is placed.
> +.TP
> +.BR PR_SET_MM_ENV_END
> +Set the address below which the program environment is placed.
> +.IP
> +The address passed with
> +.BR PR_SET_MM_ARG_START ,
> +.BR PR_SET_MM_ARG_END ,
> +.BR PR_SET_MM_ENV_START ,
> +and
> +.BR PR_SET_MM_ENV_END
> +should belong to a process stack area.
> +Thus, the corresponding memory area must be readable, writable, and
> +(depending on the kernel configuration) have the
> +.BR MAP_GROWSDOWN
> +attribute set (see
> +.BR mmap (2)).
> +.TP
> +.BR PR_SET_MM_AUXV
> +Set a new auxiliary vector.
> +The
> +.I arg3
> +argument should provide the address of the vector.
> +The
> +.I arg4
> +is the size of the vector.
> +.TP
> +.BR PR_SET_MM_EXE_FILE
> +Supersede the
> +.IR /proc/pid/exe
> +symbolic link with a new one pointing to a new executable file
> +identified by the file descriptor provided in
> +.I arg3
> +argument.
> +The file descriptor should be obtained with a regular
> +.BR open (2)
> +call.
> +.IP
> +To change the symbolic link, one needs to unmap all existing
> +executable memory areas, including those created by the kernel itself
> +(for example the kernel usually creates at least one executable
> +memory area for the ELF
> +.IR \.text
> +section).
> +.IP
> +The second limitation is that such transitions can be done only once
> +in a process life time.
> +Any further attempts will be rejected.
> +This should help system administrators to monitor unusual
> +symbolic-link transitions over all process running in a system.
>  .RE
>  .\"
>  .SH RETURN VALUE
> @@ -916,41 +913,38 @@ is
>  and the caller does not have the
>  .B CAP_SYS_RESOURCE
>  capability.
> -.\" FIXME The following (until ========) is not yet in mainline kernel,
> -.\" so commented out for the moment.
> -.\" .TP
> -.\" .B EACCES
> -.\" .I option
> -.\" is
> -.\" .BR PR_SET_MM ,
> -.\" and
> -.\" .I arg3
> -.\" is
> -.\" .BR PR_SET_MM_EXE_FILE ,
> -.\" the file is not executable.
> -.\" .TP
> -.\" .B EBUSY
> -.\" .I option
> -.\" is
> -.\" .BR PR_SET_MM ,
> -.\" .I arg3
> -.\" is
> -.\" .BR PR_SET_MM_EXE_FILE ,
> -.\" and this the second attempt to change the
> -.\" .I /proc/pid/exe
> -.\" symbolic link, which is prohibited.
> -.\" .TP
> -.\" .B EBADF
> -.\" .I option
> -.\" is
> -.\" .BR PR_SET_MM ,
> -.\" .I arg3
> -.\" is
> -.\" .BR PR_SET_MM_EXE_FILE ,
> -.\" and the file descriptor passed in
> -.\" .I arg4
> -.\" is not valid.
> -.\" ========== END FIXME
> +.TP
> +.B EACCES
> +.I option
> +is
> +.BR PR_SET_MM ,
> +and
> +.I arg3
> +is
> +.BR PR_SET_MM_EXE_FILE ,
> +the file is not executable.
> +.TP
> +.B EBUSY
> +.I option
> +is
> +.BR PR_SET_MM ,
> +.I arg3
> +is
> +.BR PR_SET_MM_EXE_FILE ,
> +and this the second attempt to change the
> +.I /proc/pid/exe
> +symbolic link, which is prohibited.
> +.TP
> +.B EBADF
> +.I option
> +is
> +.BR PR_SET_MM ,
> +.I arg3
> +is
> +.BR PR_SET_MM_EXE_FILE ,
> +and the file descriptor passed in
> +.I arg4
> +is not valid.
>  .\" The following can't actually happen, because prctl() in
>  .\" seccomp mode will cause SIGKILL.
>  .\" .TP
> 


-- 
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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply	other threads:[~2014-02-22  9:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-13  0:49 [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5 Kir Kolyshkin
     [not found] ` <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2014-02-13  0:49   ` [PATCH 2/4] prctl.2: Note PR_SET_MM opts appeared " Kir Kolyshkin
     [not found]     ` <1392252556-23254-2-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2014-02-22  9:06       ` Michael Kerrisk (man-pages)
2014-02-13  0:49   ` [PATCH 3/4] prctl.2: fix wording in PR_SET_MM_EXE_FILE description Kir Kolyshkin
     [not found]     ` <1392252556-23254-3-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2014-02-22  9:06       ` Michael Kerrisk (man-pages)
2014-02-13  0:49   ` [PATCH 4/4] prctl.2: cite PR_SET_MM kernel commits Kir Kolyshkin
     [not found]     ` <1392252556-23254-4-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2014-02-22  9:06       ` Michael Kerrisk (man-pages)
2014-02-22  9:06   ` Michael Kerrisk (man-pages) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5308688E.90205@gmail.com \
    --to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=criu-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    --cc=gorcunov-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    --cc=kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).