| PR_MDWE_REFUSE_EXEC_GAIN | New memory mapping protections can't be writable and executable. Non-executable mappings can't become executable. |
| PR_MDWE_NO_INHERIT (since Linux 6.6) | Do not propagate MDWE protection to child processes on fork(2). Setting this bit requires setting PR_MDWE_REFUSE_EXEC_GAIN too. |
| EINVAL | mask is not a valid value. |
NAME
PR_SET_MDWE - set the Memory-Deny-Write-Execute protection mask for the calling process
LIBRARY
Standard C library (libc, -lc)
SYNOPSIS
#include <linux/prctl.h>\n /* Definition of \nPR_*\n constants */
\n#include <sys/prctl.h>int prctl(PR_SET_MDWE, unsigned long \nmask\n, 0L, 0L, 0L);DESCRIPTION
Set the calling process' Memory-Deny-Write-Execute protection mask. Once protection bits are set, they can not be changed.
mask must be a bit mask of:
- PR_MDWE_REFUSE_EXEC_GAIN
New memory mapping protections can't be writable and executable. Non-executable mappings can't become executable.
- PR_MDWE_NO_INHERIT (since Linux 6.6)
Do not propagate MDWE protection to child processes on fork(2). Setting this bit requires setting PR_MDWE_REFUSE_EXEC_GAIN too.
RETURN VALUE
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
ERRORS
- EINVAL
mask is not a valid value.
STANDARDS
Linux.
HISTORY
Linux 6.3.
SEE ALSO
prctl(2), PR_GET_MDWE(2const)