is one of the options below.
.TP
.B PR_SET_MM_START_CODE
-Set the address above which the program text can run.
-The corresponding memory area must be readable and executable,
-but not writable or shareable (see
-.BR mprotect (2)
-and
-.BR mmap (2)
-for more information).
-.TP
+.TQ
.B PR_SET_MM_END_CODE
-Set the address below which the program text can run.
-The corresponding memory area must be readable and executable,
-but not writable or shareable.
.TP
.B PR_SET_MM_START_DATA
Set the address above which initialized and
.B EINVAL
.I op
is
-.BR PR_SET_MM_START_CODE ,
-.BR PR_SET_MM_END_CODE ,
.BR PR_SET_MM_START_DATA ,
.BR PR_SET_MM_END_DATA ,
or
.B CONFIG_CHECKPOINT_RESTORE
option enabled.
.SH SEE ALSO
-.BR prctl (2)
+.BR prctl (2),
+.BR PR_SET_MM_START_CODE (2const),
+.BR PR_SET_MM_END_CODE (2const)
--- /dev/null
+.\" Copyright 2012, Cyrill Gorcunov <gorcunov@openvz.org>
+.\" Copyright 2012, 2013, 2015, Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Copyright 2024, Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH PR_SET_MM_START_CODE 2const (date) "Linux man-pages (unreleased)"
+.SH NAME
+PR_SET_MM_START_CODE,
+PR_SET_MM_END_CODE
+\-
+modify kernel memory map descriptor fields
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <sys/prctl.h>
+.P
+.BI "int prctl(PR_SET_MM, PR_SET_MM_START_CODE, unsigned long " addr ", 0L, 0L);"
+.BI "int prctl(PR_SET_MM, PR_SET_MM_END_CODE, unsigned long " addr ", 0L, 0L);"
+.fi
+.SH DESCRIPTION
+.TP
+.B PR_SET_MM_START_CODE
+Set the address above which the program text can run.
+The corresponding memory area must be readable and executable,
+but not writable or shareable (see
+.BR mprotect (2)
+and
+.BR mmap (2)
+for more information).
+.TP
+.B PR_SET_MM_END_CODE
+Set the address below which the program text can run.
+The corresponding memory area must be readable and executable,
+but not writable or shareable.
+.SH RETURN VALUE
+On success,
+0 is returned.
+On error, \-1 is returned, and
+.I errno
+is set to indicate the error.
+.SH ERRORS
+.TP
+.B EINVAL
+.I addr
+is greater than
+.B TASK_SIZE
+(the limit on the size of the user address space for this architecture).
+.TP
+.B EINVAL
+The permissions of the corresponding memory area are not as required.
+.SH STANDARDS
+Linux.
+.SH HISTORY
+Linux 3.3.
+.\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036
+.SH SEE ALSO
+.BR prctl (2)