* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.