* [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5
@ 2014-02-13 0:49 Kir Kolyshkin
[not found] ` <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Kir Kolyshkin @ 2014-02-13 0:49 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov,
criu-GEFAQzZX7r8dnm+yROfE0A, Kir Kolyshkin
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.
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
--
1.8.1.4
--
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
^ permalink raw reply related [flat|nested] 8+ messages in thread[parent not found: <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>]
* [PATCH 2/4] prctl.2: Note PR_SET_MM opts appeared in Linux 3.5 [not found] ` <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> @ 2014-02-13 0:49 ` Kir Kolyshkin [not found] ` <1392252556-23254-2-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> 2014-02-13 0:49 ` [PATCH 3/4] prctl.2: fix wording in PR_SET_MM_EXE_FILE description Kir Kolyshkin ` (2 subsequent siblings) 3 siblings, 1 reply; 8+ messages in thread From: Kir Kolyshkin @ 2014-02-13 0:49 UTC (permalink / raw) To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w Cc: linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A, Kir Kolyshkin Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> --- man2/prctl.2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/man2/prctl.2 b/man2/prctl.2 index db8174a..55aef52 100644 --- a/man2/prctl.2 +++ b/man2/prctl.2 @@ -711,6 +711,8 @@ value. The requirements for the address are the same as for the .BR PR_SET_MM_START_BRK option. +.P +The following options are available since Linux 3.5. .TP .BR PR_SET_MM_ARG_START Set the address above which the program command line is placed. -- 1.8.1.4 -- 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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1392252556-23254-2-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH 2/4] prctl.2: Note PR_SET_MM opts appeared in Linux 3.5 [not found] ` <1392252556-23254-2-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> @ 2014-02-22 9:06 ` Michael Kerrisk (man-pages) 0 siblings, 0 replies; 8+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-02-22 9:06 UTC (permalink / raw) To: Kir Kolyshkin Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A Applied! On 02/13/2014 01:49 AM, Kir Kolyshkin wrote: > Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> > --- > man2/prctl.2 | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/man2/prctl.2 b/man2/prctl.2 > index db8174a..55aef52 100644 > --- a/man2/prctl.2 > +++ b/man2/prctl.2 > @@ -711,6 +711,8 @@ value. > The requirements for the address are the same as for the > .BR PR_SET_MM_START_BRK > option. > +.P > +The following options are available since Linux 3.5. > .TP > .BR PR_SET_MM_ARG_START > Set the address above which the program command line is placed. > -- 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/4] prctl.2: fix wording in PR_SET_MM_EXE_FILE description [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 @ 2014-02-13 0:49 ` Kir Kolyshkin [not found] ` <1392252556-23254-3-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> 2014-02-13 0:49 ` [PATCH 4/4] prctl.2: cite PR_SET_MM kernel commits Kir Kolyshkin 2014-02-22 9:06 ` [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5 Michael Kerrisk (man-pages) 3 siblings, 1 reply; 8+ messages in thread From: Kir Kolyshkin @ 2014-02-13 0:49 UTC (permalink / raw) To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w Cc: linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A, Kir Kolyshkin Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> --- man2/prctl.2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/man2/prctl.2 b/man2/prctl.2 index 55aef52..a2d06d1 100644 --- a/man2/prctl.2 +++ b/man2/prctl.2 @@ -769,8 +769,8 @@ section). 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. +This should help system administrators monitor unusual +symbolic-link transitions over all processes running on a system. .RE .\" .SH RETURN VALUE -- 1.8.1.4 -- 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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1392252556-23254-3-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH 3/4] prctl.2: fix wording in PR_SET_MM_EXE_FILE description [not found] ` <1392252556-23254-3-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> @ 2014-02-22 9:06 ` Michael Kerrisk (man-pages) 0 siblings, 0 replies; 8+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-02-22 9:06 UTC (permalink / raw) To: Kir Kolyshkin Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A Applied! On 02/13/2014 01:49 AM, Kir Kolyshkin wrote: > Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> > --- > man2/prctl.2 | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/man2/prctl.2 b/man2/prctl.2 > index 55aef52..a2d06d1 100644 > --- a/man2/prctl.2 > +++ b/man2/prctl.2 > @@ -769,8 +769,8 @@ section). > 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. > +This should help system administrators monitor unusual > +symbolic-link transitions over all processes running on a system. > .RE > .\" > .SH RETURN VALUE > -- 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/4] prctl.2: cite PR_SET_MM kernel commits [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 2014-02-13 0:49 ` [PATCH 3/4] prctl.2: fix wording in PR_SET_MM_EXE_FILE description Kir Kolyshkin @ 2014-02-13 0:49 ` Kir Kolyshkin [not found] ` <1392252556-23254-4-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> 2014-02-22 9:06 ` [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5 Michael Kerrisk (man-pages) 3 siblings, 1 reply; 8+ messages in thread From: Kir Kolyshkin @ 2014-02-13 0:49 UTC (permalink / raw) To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w Cc: linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A, Kir Kolyshkin Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> --- man2/prctl.2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/man2/prctl.2 b/man2/prctl.2 index a2d06d1..4c7e9a7 100644 --- a/man2/prctl.2 +++ b/man2/prctl.2 @@ -642,6 +642,7 @@ All unused arguments must be zero. .TP .BR PR_SET_MM " (since Linux 3.3)" +.\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036 Modify certain kernel memory map descriptor fields of the calling process. Usually these fields are set by the kernel and dynamic loader (see @@ -713,6 +714,7 @@ The requirements for the address are the same as for the option. .P The following options are available since Linux 3.5. +.\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7 .TP .BR PR_SET_MM_ARG_START Set the address above which the program command line is placed. @@ -749,6 +751,7 @@ The is the size of the vector. .TP .BR PR_SET_MM_EXE_FILE +.\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6 Supersede the .IR /proc/pid/exe symbolic link with a new one pointing to a new executable file -- 1.8.1.4 -- 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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1392252556-23254-4-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH 4/4] prctl.2: cite PR_SET_MM kernel commits [not found] ` <1392252556-23254-4-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> @ 2014-02-22 9:06 ` Michael Kerrisk (man-pages) 0 siblings, 0 replies; 8+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-02-22 9:06 UTC (permalink / raw) To: Kir Kolyshkin Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A Applied! On 02/13/2014 01:49 AM, Kir Kolyshkin wrote: > Signed-off-by: Kir Kolyshkin <kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> > --- > man2/prctl.2 | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/man2/prctl.2 b/man2/prctl.2 > index a2d06d1..4c7e9a7 100644 > --- a/man2/prctl.2 > +++ b/man2/prctl.2 > @@ -642,6 +642,7 @@ All unused > arguments must be zero. > .TP > .BR PR_SET_MM " (since Linux 3.3)" > +.\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036 > Modify certain kernel memory map descriptor fields > of the calling process. > Usually these fields are set by the kernel and dynamic loader (see > @@ -713,6 +714,7 @@ The requirements for the address are the same as for the > option. > .P > The following options are available since Linux 3.5. > +.\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7 > .TP > .BR PR_SET_MM_ARG_START > Set the address above which the program command line is placed. > @@ -749,6 +751,7 @@ The > is the size of the vector. > .TP > .BR PR_SET_MM_EXE_FILE > +.\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6 > Supersede the > .IR /proc/pid/exe > symbolic link with a new one pointing to a new executable file > -- 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5 [not found] ` <1392252556-23254-1-git-send-email-kir-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> ` (2 preceding siblings ...) 2014-02-13 0:49 ` [PATCH 4/4] prctl.2: cite PR_SET_MM kernel commits Kir Kolyshkin @ 2014-02-22 9:06 ` Michael Kerrisk (man-pages) 3 siblings, 0 replies; 8+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-02-22 9:06 UTC (permalink / raw) To: Kir Kolyshkin Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA, Cyrill Gorcunov, criu-GEFAQzZX7r8dnm+yROfE0A 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-02-22 9:06 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 1/4] prctl.2: uncomment PR_SET_MM options in Linux 3.5 Michael Kerrisk (man-pages)
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).