.\" Copyright 2012, Cyrill Gorcunov .\" Copyright 2012, 2013, 2015, Michael Kerrisk .\" Copyright 2024, Alejandro Colomar .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH PR_SET_MM_ARG_START 2const 2024-06-01 "Linux man-pages 6.9.1" .SH NAME PR_SET_MM_ARG_START, PR_SET_MM_ARG_END, PR_SET_MM_ENV_START, PR_SET_MM_ENV_END \- modify kernel memory map descriptor fields .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .BR "#include " " /* Definition of " PR_* " constants */" .B #include .P .BI "int prctl(PR_SET_MM, PR_SET_MM_ARG_START, unsigned long " addr ", 0L, 0L);" .BI "int prctl(PR_SET_MM, PR_SET_MM_ARG_END, unsigned long " addr ", 0L, 0L);" .BI "int prctl(PR_SET_MM, PR_SET_MM_ENV_START, unsigned long " addr ", 0L, 0L);" .BI "int prctl(PR_SET_MM, PR_SET_MM_ENV_END, unsigned long " addr ", 0L, 0L);" .fi .SH DESCRIPTION .TP .B PR_SET_MM_ARG_START Set the address above which the program command line is placed. .TP .B PR_SET_MM_ARG_END Set the address below which the program command line is placed. .TP .B PR_SET_MM_ENV_START Set the address above which the program environment is placed. .TP .B PR_SET_MM_ENV_END Set the address below which the program environment is placed. .P The address passed with these calls should belong to a process stack area. Thus, the corresponding memory area must be readable, writable, and (depending on the kernel configuration) have the .B MAP_GROWSDOWN attribute set (see .BR mmap (2)). .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). .SH STANDARDS Linux. .SH HISTORY Linux 3.5. .\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7 .SH SEE ALSO .BR prctl (2), .BR PR_SET_MM (2const)