Reference

PR_SET_MDWE(2const)

set the Memory-Deny-Write-Execute protection mask for the calling process

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>  /* Definition of PR_* constants */
#include <sys/prctl.h>

int prctl(PR_SET_MDWE, unsigned long mask, 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 mappings 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)

History