logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PR_SET_NO_NEW_PRIVS - set the calling thread's no_new_privs attribute

Description

Set the calling thread's no_new_privs attribute. With no_new_privs set to 1, execve(2) promises not to grant privileges to do anything that could not have been done without the execve(2) call (for example, rendering the set-user-ID and set-group-ID mode bits, and file capabilities non-functional). Once set, the no_new_privs attribute cannot be unset. The setting of this attribute is inherited by children created by fork(2) and clone(2), and preserved across execve(2).

Errors

EINVAL The second argument is not equal to 1L.

Files

/proc/pid/status Since Linux 4.10, the value of a thread's no_new_privs attribute can be viewed via the NoNewPrivs field in this file.

History

Linux 3.5.

Library

Standard C library (libc, -lc)

Name

PR_SET_NO_NEW_PRIVS - set the calling thread's no_new_privs attribute

Return Value

On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.

See Also

prctl(2), PR_GET_NO_NEW_PRIVS(2const), seccomp(2) For more information, see the kernel source file Documentation/userspace-api/no_new_privs.rst (or Documentation/prctl/no_new_privs.txt before Linux 4.13). Linux man-pages 6.9.1 2024-06-01 PR_SET_NO_NEW_PRIVS(2const)

Standards

Linux.

Synopsis

#include<linux/prctl.h> /* Definition of PR_* constants */ #include<sys/prctl.h>intprctl(PR_SET_NO_NEW_PRIVS,1L,0L,0L,0L);

See Also