plucky (2) prctl.2.gz

Provided by: manpages-dev_6.9.1-1_all bug

NAME

       prctl - operations on a process or thread

LIBRARY

       Standard C library (libc, -lc)

SYNOPSIS

       #include <linux/prctl.h>  /* Definition of PR_* constants */
       #include <sys/prctl.h>

       int prctl(int op, ...);

DESCRIPTION

       prctl() manipulates various aspects of the behavior of the calling thread or process.

       prctl()  is called with a first argument describing what to do, and further arguments with a significance
       depending on the first one.  The first argument can be:

       PR_CAP_AMBIENT
       PR_CAPBSET_READ
       PR_CAPBSET_DROP
       PR_SET_CHILD_SUBREAPER
       PR_GET_CHILD_SUBREAPER
       PR_SET_DUMPABLE
       PR_GET_DUMPABLE
       PR_SET_ENDIAN
       PR_GET_ENDIAN
       PR_SET_FP_MODE
       PR_GET_FP_MODE
       PR_SET_FPEMU
       PR_GET_FPEMU
       PR_SET_FPEXC
       PR_GET_FPEXC
       PR_SET_IO_FLUSHER
       PR_GET_IO_FLUSHER
       PR_SET_KEEPCAPS
       PR_GET_KEEPCAPS
       PR_MCE_KILL
       PR_MCE_KILL_GET
       PR_SET_MM
       PR_SET_VMA
       PR_MPX_ENABLE_MANAGEMENT
       PR_MPX_DISABLE_MANAGEMENT
       PR_SET_NAME
       PR_GET_NAME
       PR_SET_NO_NEW_PRIVS
       PR_GET_NO_NEW_PRIVS
       PR_PAC_RESET_KEYS
       PR_SET_PDEATHSIG
       PR_GET_PDEATHSIG
       PR_SET_PTRACER
       PR_SET_SECCOMP
       PR_GET_SECCOMP
       PR_SET_SECUREBITS
       PR_GET_SECUREBITS
       PR_GET_SPECULATION_CTRL
       PR_SET_SPECULATION_CTRL
       PR_SVE_SET_VL
       PR_SVE_GET_VL
       PR_SET_SYSCALL_USER_DISPATCH
       PR_SET_TAGGED_ADDR_CTRL
       PR_GET_TAGGED_ADDR_CTRL
       PR_TASK_PERF_EVENTS_DISABLE
       PR_TASK_PERF_EVENTS_ENABLE
       PR_SET_THP_DISABLE
       PR_GET_THP_DISABLE
       PR_GET_TID_ADDRESS
       PR_SET_TIMERSLACK
       PR_GET_TIMERSLACK
       PR_SET_TIMING
       PR_GET_TIMING
       PR_SET_TSC
       PR_GET_TSC
       PR_SET_UNALIGN
       PR_GET_UNALIGN
       PR_GET_AUXV
       PR_SET_MDWE
       PR_GET_MDWE

RETURN VALUE

       On success, a nonnegative value is returned.  On error, -1 is returned, and errno is set to indicate  the
       error.

ERRORS

       EINVAL The value of op is not recognized, or not supported on this system.

       EINVAL An unused argument is nonzero.

VERSIONS

       IRIX  has a prctl() system call (also introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture),
       with prototype

           ptrdiff_t prctl(int op, int arg2, int arg3);

       and operations to get the maximum number of processes per user, get the maximum number of processors  the
       calling  process  can  use,  find  out  whether  a specified process is currently blocked, get or set the
       maximum stack size, and so on.

STANDARDS

       Linux.

HISTORY

       Linux 2.1.57, glibc 2.0.6

CAVEATS

       The prototype of the libc wrapper uses a variadic argument list.  This makes it  necessary  to  pass  the
       arguments with the right width.  When passing numeric constants, such as 0, use a suffix: 0L.

       Careless  use  of  some  prctl()  operations  can  confuse  the user-space run-time environment, so these
       operations should be used with care.

SEE ALSO

       signal(2),        PR_CAP_AMBIENT(2const),        PR_CAPBSET_READ(2const),        PR_CAPBSET_DROP(2const),
       PR_SET_CHILD_SUBREAPER(2const),          PR_GET_CHILD_SUBREAPER(2const),         PR_SET_DUMPABLE(2const),
       PR_GET_DUMPABLE(2const),    PR_SET_ENDIAN(2const),     PR_GET_ENDIAN(2const),     PR_SET_FP_MODE(2const),
       PR_GET_FP_MODE(2const),       PR_SET_FPEMU(2const),      PR_GET_FPEMU(2const),      PR_SET_FPEXC(2const),
       PR_GET_FPEXC(2const),  PR_SET_IO_FLUSHER(2const),   PR_GET_IO_FLUSHER(2const),   PR_SET_KEEPCAPS(2const),
       PR_GET_KEEPCAPS(2const),       PR_MCE_KILL(2const),      PR_MCE_KILL_GET(2const),      PR_SET_MM(2const),
       PR_SET_VMA(2const),         PR_MPX_ENABLE_MANAGEMENT(2const),          PR_MPX_DISABLE_MANAGEMENT(2const),
       PR_SET_NAME(2const),   PR_GET_NAME(2const),   PR_SET_NO_NEW_PRIVS(2const),   PR_GET_NO_NEW_PRIVS(2const),
       PR_PAC_RESET_KEYS(2const),  PR_SET_PDEATHSIG(2const),  PR_GET_PDEATHSIG(2const),  PR_SET_PTRACER(2const),
       PR_SET_SECCOMP(2const),   PR_GET_SECCOMP(2const),  PR_SET_SECUREBITS(2const),  PR_GET_SECUREBITS(2const),
       PR_SET_SPECULATION_CTRL(2const),         PR_GET_SPECULATION_CTRL(2const),          PR_SVE_SET_VL(2const),
       PR_SVE_GET_VL(2const),       PR_SET_SYSCALL_USER_DISPATCH(2const),       PR_SET_TAGGED_ADDR_CTRL(2const),
       PR_GET_TAGGED_ADDR_CTRL(2const), PR_TASK_PERF_EVENTS_DISABLE(2const), PR_TASK_PERF_EVENTS_ENABLE(2const),
       PR_SET_THP_DISABLE(2const),            PR_GET_THP_DISABLE(2const),            PR_GET_TID_ADDRESS(2const),
       PR_SET_TIMERSLACK(2const),   PR_GET_TIMERSLACK(2const),   PR_SET_TIMING(2const),   PR_GET_TIMING(2const),
       PR_SET_TSC(2const),       PR_GET_TSC(2const),       PR_SET_UNALIGN(2const),       PR_GET_UNALIGN(2const),
       PR_GET_AUXV(2const), PR_SET_MDWE(2const), PR_GET_MDWE(2const), core(5)