2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
|
2013-02-08 09:38:43 +00:00
|
|
|
.\" and Copyright (C) 2002, 2006, 2008, 2012, 2013 Michael Kerrisk <mtk.manpages@gmail.com>
|
2007-06-02 08:19:44 +00:00
|
|
|
.\" and Copyright Guillem Jover <guillem@hadrons.org>
|
2015-01-10 14:15:03 +00:00
|
|
|
.\" and Copyright (C) 2014 Dave Hansen / Intel
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: s/LICENSE_START(verbatim)/LICENSE_START(VERBATIM)/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 09:29:01 +00:00
|
|
|
.\" %%%LICENSE_START(VERBATIM)
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
|
|
.\" preserved on all copies.
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
|
|
.\" permission notice identical to this one.
|
2007-04-12 22:42:49 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
|
|
.\" have taken the same level of care in the production of this manual,
|
|
|
|
.\" which is licensed free of charge, as they might when working
|
|
|
|
.\" professionally.
|
2007-04-12 22:42:49 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: Global fix: Add LICENSE_START(verbatim)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 09:28:40 +00:00
|
|
|
.\" %%%LICENSE_END
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
|
|
|
.\" Modified Thu Nov 11 04:19:42 MET 1999, aeb: added PR_GET_PDEATHSIG
|
|
|
|
.\" Modified 27 Jun 02, Michael Kerrisk
|
2007-04-12 22:42:49 +00:00
|
|
|
.\" Added PR_SET_DUMPABLE, PR_GET_DUMPABLE,
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" PR_SET_KEEPCAPS, PR_GET_KEEPCAPS
|
2006-09-26 12:03:11 +00:00
|
|
|
.\" Modified 2006-08-30 Guillem Jover <guillem@hadrons.org>
|
|
|
|
.\" Updated Linux versions where the options where introduced.
|
|
|
|
.\" Added PR_SET_TIMING, PR_GET_TIMING, PR_SET_NAME, PR_GET_NAME,
|
|
|
|
.\" PR_SET_UNALIGN, PR_GET_UNALIGN, PR_SET_FPEMU, PR_GET_FPEMU,
|
|
|
|
.\" PR_SET_FPEXC, PR_GET_FPEXC
|
2008-07-09 11:53:48 +00:00
|
|
|
.\" 2008-04-29 Serge Hallyn, Document PR_CAPBSET_READ and PR_CAPBSET_DROP
|
|
|
|
.\" 2008-06-13 Erik Bosman, <ejbosman@cs.vu.nl>
|
|
|
|
.\" Document PR_GET_TSC and PR_SET_TSC.
|
|
|
|
.\" 2008-06-15 mtk, Document PR_SET_SECCOMP, PR_GET_SECCOMP
|
2012-04-24 20:04:11 +00:00
|
|
|
.\" 2009-10-03 Andi Kleen, document PR_MCE_KILL
|
2012-04-24 16:38:04 +00:00
|
|
|
.\" 2012-04 Cyrill Gorcunov, Document PR_SET_MM
|
2012-04-24 20:04:11 +00:00
|
|
|
.\" 2012-04-25 Michael Kerrisk, Document PR_TASK_PERF_EVENTS_DISABLE and
|
|
|
|
.\" PR_TASK_PERF_EVENTS_ENABLE
|
2012-10-22 04:28:15 +00:00
|
|
|
.\" 2012-09-20 Kees Cook, update PR_SET_SECCOMP for mode 2
|
2012-10-22 07:13:08 +00:00
|
|
|
.\" 2012-09-20 Kees Cook, document PR_SET_NO_NEW_PRIVS, PR_GET_NO_NEW_PRIVS
|
2012-10-25 14:42:13 +00:00
|
|
|
.\" 2012-10-25 Michael Kerrisk, Document PR_SET_TIMERSLACK and
|
|
|
|
.\" PR_GET_TIMERSLACK
|
2013-01-10 22:54:12 +00:00
|
|
|
.\" 2013-01-10 Kees Cook, document PR_SET_PTRACER
|
2013-02-08 09:38:43 +00:00
|
|
|
.\" 2012-02-04 Michael kerrisk, document PR_{SET,GET}_CHILD_SUBREAPER
|
2015-01-10 14:03:47 +00:00
|
|
|
.\" 2014-11-10 Dave Hansen, document PR_MPX_{EN,DIS}ABLE_MANAGEMENT
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
2010-06-27 04:54:10 +00:00
|
|
|
.\"
|
add_key.2, chown.2, epoll_ctl.2, epoll_wait.2, execve.2, fcntl.2, get_mempolicy.2, getxattr.2, ioctl.2, keyctl.2, listxattr.2, mkdir.2, mknod.2, mmap.2, msync.2, nfsservctl.2, open.2, prctl.2, removexattr.2, request_key.2, sendfile.2, set_mempolicy.2, setxattr.2, shmget.2, shutdown.2, sigaction.2, syslog.2, truncate.2, umask.2, CPU_SET.3, atexit.3, bsearch.3, cmsg.3, err.3, gethostid.3, getmntent.3, getopt.3, iconv_close.3, inet_ntop.3, longjmp.3, lsearch.3, mcheck.3, on_exit.3, putpwent.3, regex.3, resolver.3, setbuf.3, setjmp.3, setlocale.3, setlogmask.3, sleep.3, strsignal.3, sysconf.3, undocumented.3, tty_ioctl.4, proc.5, resolv.conf.5, tzfile.5, aio.7, bootparam.7, capabilities.7, fanotify.7, inotify.7, ip.7, packet.7, pthreads.7, raw.7, signal.7, socket.7, unix.7, ld.so.8, nscd.8: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-05-07 06:26:32 +00:00
|
|
|
.TH PRCTL 2 2015-05-07 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
|
|
|
prctl \- operations on a process
|
|
|
|
.SH SYNOPSIS
|
2007-04-03 14:04:54 +00:00
|
|
|
.nf
|
2004-11-03 13:51:07 +00:00
|
|
|
.B #include <sys/prctl.h>
|
|
|
|
.sp
|
2007-04-03 14:04:54 +00:00
|
|
|
.BI "int prctl(int " option ", unsigned long " arg2 ", unsigned long " arg3 ,
|
|
|
|
.BI " unsigned long " arg4 ", unsigned long " arg5 );
|
|
|
|
.fi
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH DESCRIPTION
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR prctl ()
|
2004-11-03 13:51:07 +00:00
|
|
|
is called with a first argument describing what to do
|
2007-12-10 07:16:56 +00:00
|
|
|
(with values defined in \fI<linux/prctl.h>\fP), and further
|
2008-07-10 20:53:08 +00:00
|
|
|
arguments with a significance depending on the first one.
|
2004-11-03 13:51:07 +00:00
|
|
|
The first argument can be:
|
|
|
|
.TP
|
2011-09-17 04:08:35 +00:00
|
|
|
.BR PR_CAPBSET_READ " (since Linux 2.6.25)"
|
2008-07-09 11:53:48 +00:00
|
|
|
Return (as the function result) 1 if the capability specified in
|
|
|
|
.I arg2
|
|
|
|
is in the calling thread's capability bounding set,
|
|
|
|
or 0 if it is not.
|
|
|
|
(The capability constants are defined in
|
|
|
|
.IR <linux/capability.h> .)
|
|
|
|
The capability bounding set dictates
|
|
|
|
whether the process can receive the capability through a
|
2008-07-09 13:55:24 +00:00
|
|
|
file's permitted capability set on a subsequent call to
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR execve (2).
|
|
|
|
|
|
|
|
If the capability specified in
|
|
|
|
.I arg2
|
|
|
|
is not valid, then the call fails with the error
|
|
|
|
.BR EINVAL .
|
|
|
|
.TP
|
|
|
|
.BR PR_CAPBSET_DROP " (since Linux 2.6.25)"
|
|
|
|
If the calling thread has the
|
|
|
|
.B CAP_SETPCAP
|
|
|
|
capability, then drop the capability specified by
|
|
|
|
.I arg2
|
|
|
|
from the calling thread's capability bounding set.
|
|
|
|
Any children of the calling thread will inherit the newly
|
|
|
|
reduced bounding set.
|
|
|
|
|
|
|
|
The call fails with the error:
|
|
|
|
.B EPERM
|
2008-07-09 13:55:24 +00:00
|
|
|
if the calling thread does not have the
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR CAP_SETPCAP ;
|
|
|
|
.BR EINVAL
|
|
|
|
if
|
|
|
|
.I arg2
|
|
|
|
does not represent a valid capability; or
|
|
|
|
.BR EINVAL
|
|
|
|
if file capabilities are not enabled in the kernel,
|
|
|
|
in which case bounding sets are not supported.
|
2013-02-08 09:38:43 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_SET_CHILD_SUBREAPER " (since Linux 3.4)"
|
|
|
|
.\" commit ebec18a6d3aa1e7d84aab16225e87fd25170ec2b
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
is nonzero,
|
|
|
|
set the "child subreaper" attribute of the calling process;
|
|
|
|
if
|
|
|
|
.I arg2
|
|
|
|
is zero, unset the attribute.
|
2013-02-12 03:52:43 +00:00
|
|
|
When a process is marked as a child subreaper,
|
2013-02-08 09:38:43 +00:00
|
|
|
all of the children that it creates, and their descendants,
|
|
|
|
will be marked as having a subreaper.
|
|
|
|
In effect, a subreaper fulfills the role of
|
|
|
|
.BR init (1)
|
|
|
|
for its descendant processes.
|
|
|
|
Upon termination of a process
|
|
|
|
that is orphaned (i.e., its immediate parent has already terminated)
|
|
|
|
and marked as having a subreaper,
|
|
|
|
the nearest still living ancestor subreaper
|
|
|
|
will receive a
|
|
|
|
.BR SIGCHLD
|
|
|
|
signal and be able to
|
|
|
|
.BR wait (2)
|
|
|
|
on the process to discover its termination status.
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_CHILD_SUBREAPER " (since Linux 3.4)"
|
|
|
|
Return the "child subreaper" setting of the caller,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
2008-07-09 11:53:48 +00:00
|
|
|
.TP
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR PR_SET_DUMPABLE " (since Linux 2.3.20)"
|
2015-01-19 13:36:59 +00:00
|
|
|
Set the state of the "dumpable" flag,
|
|
|
|
which determines whether core dumps are produced for the calling process
|
|
|
|
upon delivery of a signal whose default behavior is to produce a core dump.
|
2015-01-19 11:35:21 +00:00
|
|
|
|
2008-07-16 14:01:02 +00:00
|
|
|
In kernels up to and including 2.6.12,
|
2008-07-09 11:53:48 +00:00
|
|
|
.I arg2
|
2015-01-19 11:40:21 +00:00
|
|
|
must be either 0
|
|
|
|
.RB ( SUID_DUMP_DISABLE ,
|
|
|
|
process is not dumpable) or 1
|
|
|
|
.RB ( SUID_DUMP_USER ,
|
|
|
|
process is dumpable).
|
2015-01-19 12:23:46 +00:00
|
|
|
Between kernels 2.6.13 and 2.6.17,
|
|
|
|
.\" commit abf75a5033d4da7b8a7e92321d74021d1fcfb502
|
|
|
|
the value 2 was also permitted,
|
2008-07-16 14:01:02 +00:00
|
|
|
which caused any binary which normally would not be dumped
|
|
|
|
to be dumped readable by root only;
|
|
|
|
for security reasons, this feature has been removed.
|
|
|
|
.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
|
|
|
|
.\" Subject: Fix prctl privilege escalation (CVE-2006-2451)
|
|
|
|
.\" From: Marcel Holtmann <marcel () holtmann ! org>
|
|
|
|
.\" Date: 2006-07-12 11:12:00
|
|
|
|
(See also the description of
|
2015-01-19 13:36:59 +00:00
|
|
|
.I /proc/sys/fs/\:suid_dumpable
|
2008-07-16 14:01:02 +00:00
|
|
|
in
|
|
|
|
.BR proc (5).)
|
2015-01-19 11:35:21 +00:00
|
|
|
|
2015-01-19 13:36:59 +00:00
|
|
|
Normally, this flag is set to 1.
|
|
|
|
However, it is reset to the current value contained in the file
|
|
|
|
.IR /proc/sys/fs/\:suid_dumpable
|
|
|
|
(which by default has the value 0),
|
|
|
|
if any of the following attributes of the process
|
|
|
|
are changed by the operations listed below:
|
|
|
|
.\" See kernel/cred.c::commit_creds() (Linux 3.18 sources)
|
|
|
|
.RS
|
|
|
|
.IP * 3
|
|
|
|
The effective user or group ID is changed.
|
|
|
|
.IP *
|
|
|
|
The filesystem user or group ID is changed (see
|
|
|
|
.BR credentials (7)).
|
|
|
|
.IP *
|
|
|
|
The process's set of permitted capabilities (see
|
|
|
|
.BR capabilities (7))
|
|
|
|
is changed such that its new set of capabilities is
|
|
|
|
not a subset of its previous set of capabilities.
|
|
|
|
.RE
|
|
|
|
.IP
|
|
|
|
The operations that may trigger changes to the dumpable flag include:
|
|
|
|
.\" Look for uses of commit_creds() in the kernel source code
|
|
|
|
.RS
|
|
|
|
.IP * 3
|
|
|
|
execution
|
|
|
|
.RB ( execve (2))
|
|
|
|
of a set-user-ID or set-group-ID program,
|
|
|
|
or a program that has capabilities (see
|
|
|
|
.BR capabilities (7));
|
|
|
|
.IP *
|
|
|
|
.BR capset (2);
|
|
|
|
and
|
|
|
|
.IP *
|
|
|
|
system calls that change process credentials
|
|
|
|
.RB ( setuid (2)
|
|
|
|
.BR setgid (2),
|
|
|
|
.BR setresuid (2),
|
|
|
|
.BR setresgid (2),
|
|
|
|
.BR setgroups (2),
|
|
|
|
and so on).
|
2015-02-21 11:14:39 +00:00
|
|
|
.\" Also certain namespace operations;
|
2015-01-19 13:36:59 +00:00
|
|
|
.RE
|
|
|
|
.IP
|
2011-09-17 04:10:54 +00:00
|
|
|
Processes that are not dumpable can not be attached via
|
2012-06-07 12:27:54 +00:00
|
|
|
.BR ptrace (2)
|
2011-09-17 04:10:54 +00:00
|
|
|
.BR PTRACE_ATTACH .
|
2006-09-26 13:01:24 +00:00
|
|
|
.TP
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR PR_GET_DUMPABLE " (since Linux 2.3.20)"
|
|
|
|
Return (as the function result) the current state of the calling
|
|
|
|
process's dumpable flag.
|
|
|
|
.\" Since Linux 2.6.13, the dumpable flag can have the value 2,
|
|
|
|
.\" but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
.\" flags has a nonzero value. This was fixed in 2.6.14.
|
2006-09-26 13:01:24 +00:00
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_SET_ENDIAN " (since Linux 2.6.18, PowerPC only)"
|
2007-04-12 22:42:49 +00:00
|
|
|
Set the endian-ness of the calling process to the value given
|
2006-09-26 13:01:24 +00:00
|
|
|
in \fIarg2\fP, which should be one of the following:
|
2008-07-09 11:53:48 +00:00
|
|
|
.\" Respectively 0, 1, 2
|
2006-09-26 13:01:24 +00:00
|
|
|
.BR PR_ENDIAN_BIG ,
|
|
|
|
.BR PR_ENDIAN_LITTLE ,
|
|
|
|
or
|
2007-09-20 16:26:31 +00:00
|
|
|
.B PR_ENDIAN_PPC_LITTLE
|
2006-09-26 13:01:24 +00:00
|
|
|
(PowerPC pseudo little endian).
|
2006-09-26 12:03:11 +00:00
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_GET_ENDIAN " (since Linux 2.6.18, PowerPC only)"
|
|
|
|
Return the endian-ness of the calling process,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_FPEMU " (since Linux 2.4.18, 2.5.9, only on ia64)"
|
2006-09-26 12:03:11 +00:00
|
|
|
Set floating-point emulation control bits to \fIarg2\fP.
|
2015-05-19 07:51:24 +00:00
|
|
|
Pass
|
|
|
|
.B PR_FPEMU_NOPRINT
|
|
|
|
to silently emulate floating-point operation accesses, or
|
|
|
|
.B PR_FPEMU_SIGFPE
|
|
|
|
to not emulate floating-point operations and send
|
2007-06-21 05:38:48 +00:00
|
|
|
.B SIGFPE
|
|
|
|
instead.
|
2006-09-26 12:03:11 +00:00
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_GET_FPEMU " (since Linux 2.4.18, 2.5.9, only on ia64)"
|
|
|
|
Return floating-point emulation control bits,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
2006-09-26 12:03:11 +00:00
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_SET_FPEXC " (since Linux 2.4.21, 2.5.32, only on PowerPC)"
|
2007-04-24 16:44:51 +00:00
|
|
|
Set floating-point exception mode to \fIarg2\fP.
|
|
|
|
Pass \fBPR_FP_EXC_SW_ENABLE\fP to use FPEXC for FP exception enables,
|
2008-07-23 02:57:20 +00:00
|
|
|
\fBPR_FP_EXC_DIV\fP for floating-point divide by zero,
|
|
|
|
\fBPR_FP_EXC_OVF\fP for floating-point overflow,
|
|
|
|
\fBPR_FP_EXC_UND\fP for floating-point underflow,
|
|
|
|
\fBPR_FP_EXC_RES\fP for floating-point inexact result,
|
|
|
|
\fBPR_FP_EXC_INV\fP for floating-point invalid operation,
|
2006-09-26 12:03:11 +00:00
|
|
|
\fBPR_FP_EXC_DISABLED\fP for FP exceptions disabled,
|
2010-01-16 17:01:12 +00:00
|
|
|
\fBPR_FP_EXC_NONRECOV\fP for async nonrecoverable exception mode,
|
2006-09-26 12:03:11 +00:00
|
|
|
\fBPR_FP_EXC_ASYNC\fP for async recoverable exception mode,
|
|
|
|
\fBPR_FP_EXC_PRECISE\fP for precise exception mode.
|
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_GET_FPEXC " (since Linux 2.4.21, 2.5.32, only on PowerPC)"
|
|
|
|
Return floating-point exception mode,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
|
|
|
.TP
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR PR_SET_KEEPCAPS " (since Linux 2.2.18)"
|
|
|
|
Set the state of the thread's "keep capabilities" flag,
|
2010-05-13 04:16:25 +00:00
|
|
|
which determines whether the threads's permitted
|
|
|
|
capability set is cleared when a change is made to the threads's user IDs
|
2008-07-16 14:01:02 +00:00
|
|
|
such that the threads's real UID, effective UID, and saved set-user-ID
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
all become nonzero when at least one of them previously had the value 0.
|
2010-05-13 04:16:25 +00:00
|
|
|
By default, the permitted capability set is cleared when such a change is made;
|
|
|
|
setting the "keep capabilities" flag prevents it from being cleared.
|
2008-07-16 14:01:02 +00:00
|
|
|
.I arg2
|
2010-05-13 04:16:25 +00:00
|
|
|
must be either 0 (permitted capabilities are cleared)
|
|
|
|
or 1 (permitted capabilities are kept).
|
|
|
|
(A thread's
|
|
|
|
.I effective
|
|
|
|
capability set is always cleared when such a credential change is made,
|
|
|
|
regardless of the setting of the "keep capabilities" flag.)
|
|
|
|
The "keep capabilities" value will be reset to 0 on subsequent calls to
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR execve (2).
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_KEEPCAPS " (since Linux 2.2.18)"
|
|
|
|
Return (as the function result) the current state of the calling threads's
|
|
|
|
"keep capabilities" flag.
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_NAME " (since Linux 2.6.9)"
|
2013-05-21 19:02:10 +00:00
|
|
|
Set the name of the calling thread,
|
2008-07-16 14:01:02 +00:00
|
|
|
using the value in the location pointed to by
|
|
|
|
.IR "(char\ *) arg2" .
|
|
|
|
The name can be up to 16 bytes long,
|
|
|
|
.\" TASK_COMM_LEN in include/linux/sched.h
|
2014-10-21 10:58:27 +00:00
|
|
|
including the terminating null byte.
|
2014-10-28 13:26:23 +00:00
|
|
|
(If the length of the string, including the terminating null byte,
|
|
|
|
exceeds 16 bytes, the string is silently truncated.)
|
2013-05-21 19:12:13 +00:00
|
|
|
This is the same attribute that can be set via
|
|
|
|
.BR pthread_setname_np (3)
|
|
|
|
and retrieved using
|
|
|
|
.BR pthread_getname_np (3).
|
|
|
|
The attribute is likewise accessible via
|
|
|
|
.IR /proc/self/task/[tid]/comm ,
|
|
|
|
where
|
|
|
|
.I tid
|
|
|
|
is the name of the calling thread.
|
2008-07-16 14:01:02 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_GET_NAME " (since Linux 2.6.11)"
|
2013-05-21 19:02:10 +00:00
|
|
|
Return the name of the calling thread,
|
2008-07-16 14:01:02 +00:00
|
|
|
in the buffer pointed to by
|
|
|
|
.IR "(char\ *) arg2" .
|
|
|
|
The buffer should allow space for up to 16 bytes;
|
2014-10-21 10:58:27 +00:00
|
|
|
the returned string will be null-terminated.
|
2008-07-16 14:01:02 +00:00
|
|
|
.TP
|
2012-10-22 07:13:08 +00:00
|
|
|
.BR PR_SET_NO_NEW_PRIVS " (since Linux 3.5)"
|
2012-10-22 07:18:40 +00:00
|
|
|
Set the calling process's
|
|
|
|
.I no_new_privs
|
|
|
|
bit to the value in
|
|
|
|
.IR arg2 .
|
|
|
|
With
|
2012-10-22 07:41:39 +00:00
|
|
|
.I no_new_privs
|
2012-10-22 07:18:40 +00:00
|
|
|
set to 1,
|
|
|
|
.BR execve (2)
|
2012-10-22 07:41:39 +00:00
|
|
|
promises not to grant privileges to do anything
|
|
|
|
that could not have been done without the
|
2012-10-22 07:18:40 +00:00
|
|
|
.BR execve (2)
|
2012-10-22 07:41:39 +00:00
|
|
|
call (for example,
|
2015-04-21 11:18:15 +00:00
|
|
|
rendering the set-user-ID and set-group-ID mode bits,
|
2012-10-22 07:41:39 +00:00
|
|
|
and file capabilities non-functional).
|
|
|
|
Once set, this bit cannot be unset.
|
|
|
|
The setting of this bit is inherited by children created by
|
|
|
|
.BR fork (2)
|
2012-10-22 07:18:40 +00:00
|
|
|
and
|
2012-10-22 07:41:39 +00:00
|
|
|
.BR clone (2),
|
|
|
|
and preserved across
|
|
|
|
.BR execve (2).
|
2012-10-22 07:42:41 +00:00
|
|
|
|
|
|
|
For more information, see the kernel source file
|
|
|
|
.IR Documentation/prctl/no_new_privs.txt .
|
2012-10-22 07:13:08 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_GET_NO_NEW_PRIVS " (since Linux 3.5)"
|
2014-02-22 08:41:35 +00:00
|
|
|
Return (as the function result) the value of the
|
2012-10-22 07:18:40 +00:00
|
|
|
.I no_new_privs
|
|
|
|
bit for the current process.
|
|
|
|
A value of 0 indicates the regular
|
|
|
|
.BR execve (2)
|
|
|
|
behavior.
|
|
|
|
A value of 1 indicates
|
|
|
|
.BR execve (2)
|
2012-10-22 07:41:39 +00:00
|
|
|
will operate in the privilege-restricting mode described above.
|
2012-10-22 07:13:08 +00:00
|
|
|
.TP
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR PR_SET_PDEATHSIG " (since Linux 2.1.57)"
|
2015-05-05 10:12:35 +00:00
|
|
|
Set the parent death signal
|
2008-07-16 14:01:02 +00:00
|
|
|
of the calling process to \fIarg2\fP (either a signal value
|
|
|
|
in the range 1..maxsig, or 0 to clear).
|
|
|
|
This is the signal that the calling process will get when its
|
|
|
|
parent dies.
|
|
|
|
This value is cleared for the child of a
|
2012-04-23 09:30:59 +00:00
|
|
|
.BR fork (2)
|
2012-10-27 04:07:36 +00:00
|
|
|
and (since Linux 2.4.36 / 2.6.23)
|
2015-01-19 11:36:52 +00:00
|
|
|
when executing a set-user-ID or set-group-ID binary,
|
|
|
|
or a binary that has associated capabilities (see
|
|
|
|
.BR capabilities (7)).
|
2014-02-10 10:09:38 +00:00
|
|
|
This value is preserved across
|
|
|
|
.BR execve (2).
|
2015-05-05 10:12:35 +00:00
|
|
|
|
|
|
|
.IR Warning :
|
|
|
|
.\" https://bugzilla.kernel.org/show_bug.cgi?id=43300
|
|
|
|
the "parent" in this case is considered to be the
|
|
|
|
.I thread
|
|
|
|
that created this process.
|
|
|
|
In other words, the signal will be sent when that thread terminates
|
|
|
|
(via, for example,
|
|
|
|
.BR pthread_exit (3)),
|
|
|
|
rather than after all of the threads in the parent process terminate.
|
2008-07-16 14:01:02 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_GET_PDEATHSIG " (since Linux 2.3.15)"
|
|
|
|
Return the current value of the parent process death signal,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
|
|
|
.TP
|
2013-01-10 22:54:12 +00:00
|
|
|
.BR PR_SET_PTRACER " (since Linux 3.4)"
|
2013-01-10 23:33:13 +00:00
|
|
|
.\" commit 2d514487faf188938a4ee4fb3464eeecfbdcf8eb
|
|
|
|
.\" commit bf06189e4d14641c0148bea16e9dd24943862215
|
intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-31 08:53:00 +00:00
|
|
|
This is meaningful only when the Yama LSM is enabled and in mode 1
|
2013-01-10 22:54:12 +00:00
|
|
|
("restricted ptrace", visible via
|
|
|
|
.IR /proc/sys/kernel/yama/ptrace_scope ).
|
2013-01-10 23:24:36 +00:00
|
|
|
When a "ptracer process ID" is passed in \fIarg2\fP,
|
|
|
|
the caller is declaring that the ptracer process can
|
|
|
|
.BR ptrace (2)
|
|
|
|
the calling process as if it were a direct process ancestor.
|
2013-01-10 23:28:42 +00:00
|
|
|
Each
|
|
|
|
.B PR_SET_PTRACER
|
|
|
|
operation replaces the previous "ptracer process ID".
|
2013-01-10 23:24:36 +00:00
|
|
|
Employing
|
|
|
|
.B PR_SET_PTRACER
|
|
|
|
with
|
|
|
|
.I arg2
|
|
|
|
set to 0 clears the caller's "ptracer process ID".
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
is
|
2014-02-08 12:11:57 +00:00
|
|
|
.BR PR_SET_PTRACER_ANY ,
|
2013-01-10 22:54:12 +00:00
|
|
|
the ptrace restrictions introduced by Yama are effectively disabled for the
|
2013-01-10 23:24:36 +00:00
|
|
|
calling process.
|
2013-01-10 22:54:12 +00:00
|
|
|
|
|
|
|
For further information, see the kernel source file
|
|
|
|
.IR Documentation/security/Yama.txt .
|
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_SET_SECCOMP " (since Linux 2.6.23)"
|
|
|
|
.\" See http://thread.gmane.org/gmane.linux.kernel/542632
|
|
|
|
.\" [PATCH 0 of 2] seccomp updates
|
|
|
|
.\" andrea@cpushare.com
|
2012-10-22 04:36:00 +00:00
|
|
|
Set the secure computing (seccomp) mode for the calling thread, to limit
|
|
|
|
the available system calls.
|
2014-12-26 07:12:17 +00:00
|
|
|
The more recent
|
|
|
|
.BR seccomp (2)
|
|
|
|
system call provides a superset of the functionality of
|
|
|
|
.BR PR_SET_SECCOMP .
|
|
|
|
|
2012-10-22 04:28:15 +00:00
|
|
|
The seccomp mode is selected via
|
|
|
|
.IR arg2 .
|
|
|
|
(The seccomp constants are defined in
|
|
|
|
.IR <linux/seccomp.h> .)
|
|
|
|
|
|
|
|
With
|
2008-07-09 11:53:48 +00:00
|
|
|
.IR arg2
|
2012-10-22 04:28:15 +00:00
|
|
|
set to
|
2014-12-30 07:32:46 +00:00
|
|
|
.BR SECCOMP_MODE_STRICT ,
|
2008-07-09 11:53:48 +00:00
|
|
|
the only system calls that the thread is permitted to make are
|
|
|
|
.BR read (2),
|
|
|
|
.BR write (2),
|
2015-06-30 11:39:39 +00:00
|
|
|
.BR _exit (2)
|
|
|
|
(but not
|
|
|
|
.BR exit_group (2)),
|
2004-11-03 13:51:07 +00:00
|
|
|
and
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR sigreturn (2).
|
|
|
|
Other system calls result in the delivery of a
|
|
|
|
.BR SIGKILL
|
|
|
|
signal.
|
2012-10-22 04:28:15 +00:00
|
|
|
Strict secure computing mode is useful for number-crunching applications
|
2008-07-09 11:53:48 +00:00
|
|
|
that may need to execute untrusted byte code,
|
|
|
|
perhaps obtained by reading from a pipe or socket.
|
intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-31 08:53:00 +00:00
|
|
|
This operation is available only
|
2012-10-22 04:36:00 +00:00
|
|
|
if the kernel is configured with
|
|
|
|
.B CONFIG_SECCOMP
|
|
|
|
enabled.
|
2012-10-22 04:28:15 +00:00
|
|
|
|
|
|
|
With
|
|
|
|
.IR arg2
|
|
|
|
set to
|
2014-12-30 07:32:46 +00:00
|
|
|
.BR SECCOMP_MODE_FILTER " (since Linux 3.5),"
|
2012-10-22 04:53:59 +00:00
|
|
|
the system calls allowed are defined by a pointer
|
|
|
|
to a Berkeley Packet Filter passed in
|
|
|
|
.IR arg3 .
|
|
|
|
This argument is a pointer to
|
|
|
|
.IR "struct sock_fprog" ;
|
|
|
|
it can be designed to filter
|
2012-10-22 04:36:00 +00:00
|
|
|
arbitrary system calls and system call arguments.
|
intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-31 08:53:00 +00:00
|
|
|
This mode is available only if the kernel is configured with
|
2012-10-22 04:36:00 +00:00
|
|
|
.B CONFIG_SECCOMP_FILTER
|
|
|
|
enabled.
|
2012-10-22 04:28:15 +00:00
|
|
|
|
2012-10-22 21:42:23 +00:00
|
|
|
If
|
|
|
|
.BR SECCOMP_MODE_FILTER
|
|
|
|
filters permit
|
|
|
|
.BR fork (2),
|
2012-10-27 03:59:18 +00:00
|
|
|
then the seccomp mode is inherited by children created by
|
2012-10-22 21:42:23 +00:00
|
|
|
.BR fork (2);
|
|
|
|
if
|
|
|
|
.BR execve (2)
|
2012-11-07 13:24:27 +00:00
|
|
|
is permitted, then the seccomp mode is preserved across
|
2012-10-22 21:42:23 +00:00
|
|
|
.BR execve (2).
|
|
|
|
If the filters permit
|
2013-02-06 23:56:50 +00:00
|
|
|
.BR prctl ()
|
2012-10-22 21:42:23 +00:00
|
|
|
calls, then additional filters can be added;
|
|
|
|
they are run in order until the first non-allow result is seen.
|
|
|
|
|
2012-10-22 04:53:59 +00:00
|
|
|
For further information, see the kernel source file
|
|
|
|
.IR Documentation/prctl/seccomp_filter.txt .
|
2008-07-09 11:53:48 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_GET_SECCOMP " (since Linux 2.6.23)"
|
2014-02-22 08:44:02 +00:00
|
|
|
Return (as the function result)
|
|
|
|
the secure computing mode of the calling thread.
|
2012-10-22 04:28:15 +00:00
|
|
|
If the caller is not in secure computing mode, this operation returns 0;
|
|
|
|
if the caller is in strict secure computing mode, then the
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR prctl ()
|
|
|
|
call will cause a
|
|
|
|
.B SIGKILL
|
|
|
|
signal to be sent to the process.
|
2012-10-22 04:36:00 +00:00
|
|
|
If the caller is in filter mode, and this system call is allowed by the
|
2015-01-07 10:23:02 +00:00
|
|
|
seccomp filters, it returns 2; otherwise, the process is killed with a
|
|
|
|
.BR SIGKILL
|
|
|
|
signal.
|
intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-31 08:53:00 +00:00
|
|
|
This operation is available only
|
2012-10-22 04:36:00 +00:00
|
|
|
if the kernel is configured with
|
|
|
|
.B CONFIG_SECCOMP
|
|
|
|
enabled.
|
2015-01-07 10:26:40 +00:00
|
|
|
|
|
|
|
Since Linux 3.8, the
|
|
|
|
.IR Seccomp
|
|
|
|
field of the
|
|
|
|
.IR /proc/[pid]/status
|
|
|
|
file provides a method of obtaining the same information,
|
|
|
|
without the risk that the process is killed; see
|
|
|
|
.BR proc (5).
|
2008-07-16 14:01:02 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_SET_SECUREBITS " (since Linux 2.6.26)"
|
|
|
|
Set the "securebits" flags of the calling thread to the value supplied in
|
|
|
|
.IR arg2 .
|
|
|
|
See
|
|
|
|
.BR capabilities (7).
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_SECUREBITS " (since Linux 2.6.26)"
|
|
|
|
Return (as the function result)
|
|
|
|
the "securebits" flags of the calling thread.
|
|
|
|
See
|
|
|
|
.BR capabilities (7).
|
|
|
|
.TP
|
2014-04-14 10:07:33 +00:00
|
|
|
.BR PR_SET_THP_DISABLE " (since Linux 3.15)"
|
|
|
|
.\" commit a0715cc22601e8830ace98366c0c2bd8da52af52
|
|
|
|
Set the state of the "THP disable" flag for the calling thread.
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
has a nonzero value, the flag is set, otherwise it is cleared.
|
|
|
|
Setting this flag provides a method
|
|
|
|
for disabling transparent huge pages
|
|
|
|
for jobs where the code cannot be modified, and using a malloc hook with
|
|
|
|
.BR madvise (2)
|
|
|
|
is not an option (i.e., statically allocated data).
|
|
|
|
The setting of the "THP disable" flag is inherited by a child created via
|
|
|
|
.BR fork (2)
|
|
|
|
and is preserved across
|
|
|
|
.BR execve (2).
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_THP_DISABLE " (since Linux 3.15)"
|
|
|
|
Return (via the function result) the current setting of the "THP disable"
|
|
|
|
flag for the calling thread:
|
|
|
|
either 1, if the flag is set, or 0, if it is not.
|
|
|
|
.TP
|
2013-01-13 07:46:33 +00:00
|
|
|
.BR PR_GET_TID_ADDRESS " (since Linux 3.5)"
|
|
|
|
.\" commit 300f786b2683f8bb1ec0afb6e1851183a479c86d
|
|
|
|
Retrieve the
|
|
|
|
.I clear_child_tid
|
|
|
|
address set by
|
|
|
|
.BR set_tid_address (2)
|
|
|
|
and the
|
|
|
|
.BR clone (2)
|
|
|
|
.B CLONE_CHILD_CLEARTID
|
2013-02-25 09:13:40 +00:00
|
|
|
flag, in the location pointed to by
|
|
|
|
.IR "(int\ **)\ arg2" .
|
|
|
|
This feature is available only if the kernel is built with the
|
|
|
|
.BR CONFIG_CHECKPOINT_RESTORE
|
|
|
|
option enabled.
|
2013-01-13 07:46:33 +00:00
|
|
|
.TP
|
2012-10-25 14:42:13 +00:00
|
|
|
.BR PR_SET_TIMERSLACK " (since Linux 2.6.28)"
|
|
|
|
.\" See https://lwn.net/Articles/369549/
|
|
|
|
.\" commit 6976675d94042fbd446231d1bd8b7de71a980ada
|
|
|
|
Set the current timer slack for the calling thread to the nanosecond value
|
|
|
|
supplied in
|
|
|
|
.IR arg2 .
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
is less than or equal to zero,
|
|
|
|
.\" It seems that it's not possible to set the timer slack to zero;
|
|
|
|
.\" The minimum value is 1? Seems a little strange.
|
|
|
|
reset the current timer slack to the thread's default timer slack value.
|
|
|
|
The timer slack is used by the kernel to group timer expirations
|
|
|
|
for the calling thread that are close to one another;
|
|
|
|
as a consequence, timer expirations for the thread may be
|
|
|
|
up to the specified number of nanoseconds late (but will never expire early).
|
|
|
|
Grouping timer expirations can help reduce system power consumption
|
|
|
|
by minimizing CPU wake-ups.
|
|
|
|
|
|
|
|
The timer expirations affected by timer slack are those set by
|
|
|
|
.BR select (2),
|
|
|
|
.BR pselect (2),
|
|
|
|
.BR poll (2),
|
|
|
|
.BR ppoll (2),
|
|
|
|
.BR epoll_wait (2),
|
|
|
|
.BR epoll_pwait (2),
|
|
|
|
.BR clock_nanosleep (2),
|
|
|
|
.BR nanosleep (2),
|
|
|
|
and
|
|
|
|
.BR futex (2)
|
|
|
|
(and thus the library functions implemented via futexes, including
|
|
|
|
.\" List obtained by grepping for futex usage in glibc source
|
|
|
|
.BR pthread_cond_timedwait (3),
|
|
|
|
.BR pthread_mutex_timedlock (3),
|
|
|
|
.BR pthread_rwlock_timedrdlock (3),
|
|
|
|
.BR pthread_rwlock_timedwrlock (3),
|
|
|
|
and
|
|
|
|
.BR sem_timedwait (3)).
|
|
|
|
|
|
|
|
Timer slack is not applied to threads that are scheduled under
|
2014-01-02 21:26:45 +00:00
|
|
|
a real-time scheduling policy (see
|
2012-10-25 14:42:13 +00:00
|
|
|
.BR sched_setscheduler (2)).
|
|
|
|
|
|
|
|
Each thread has two associated timer slack values:
|
|
|
|
a "default" value, and a "current" value.
|
|
|
|
The current value is the one that governs grouping
|
|
|
|
of timer expirations.
|
|
|
|
When a new thread is created,
|
|
|
|
the two timer slack values are made the same as the current value
|
|
|
|
of the creating thread.
|
|
|
|
Thereafter, a thread can adjust its current timer slack value via
|
|
|
|
.BR PR_SET_TIMERSLACK
|
|
|
|
(the default value can't be changed).
|
|
|
|
The timer slack values of
|
|
|
|
.IR init
|
|
|
|
(PID 1), the ancestor of all processes,
|
2012-11-11 07:56:50 +00:00
|
|
|
are 50,000 nanoseconds (50 microseconds).
|
2012-10-25 14:42:13 +00:00
|
|
|
The timer slack values are preserved across
|
|
|
|
.BR execve (2).
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_TIMERSLACK " (since Linux 2.6.28)"
|
2014-02-22 08:46:39 +00:00
|
|
|
Return (as the function result)
|
|
|
|
the current timer slack value of the calling thread.
|
2012-10-25 14:42:13 +00:00
|
|
|
.TP
|
2008-07-16 14:01:02 +00:00
|
|
|
.BR PR_SET_TIMING " (since Linux 2.6.0-test4)"
|
|
|
|
Set whether to use (normal, traditional) statistical process timing or
|
2010-10-15 05:48:02 +00:00
|
|
|
accurate timestamp-based process timing, by passing
|
2008-07-16 14:01:02 +00:00
|
|
|
.B PR_TIMING_STATISTICAL
|
|
|
|
.\" 0
|
|
|
|
or
|
|
|
|
.B PR_TIMING_TIMESTAMP
|
|
|
|
.\" 1
|
|
|
|
to \fIarg2\fP.
|
|
|
|
.B PR_TIMING_TIMESTAMP
|
|
|
|
is not currently implemented
|
|
|
|
(attempting to set this mode will yield the error
|
|
|
|
.BR EINVAL ).
|
|
|
|
.\" PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
|
|
|
|
.\" and looking at the patch history, it appears
|
|
|
|
.\" that it never did anything.
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_TIMING " (since Linux 2.6.0-test4)"
|
|
|
|
Return (as the function result) which process timing method is currently
|
|
|
|
in use.
|
2012-04-24 16:38:04 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_TASK_PERF_EVENTS_DISABLE " (since Linux 2.6.31)"
|
|
|
|
Disable all performance counters attached to the calling process,
|
|
|
|
regardless of whether the counters were created by
|
|
|
|
this process or another process.
|
|
|
|
Performance counters created by the calling process for other
|
|
|
|
processes are unaffected.
|
bdflush.2, get_robust_list.2, kexec_load.2, madvise.2, mmap.2, mount.2, prctl.2, query_module.2, rt_sigqueueinfo.2, shmget.2, sigaction.2, syscalls.2, umount.2, malloc.3, hpsa.4, initrd.4, proc.5, bootparam.7, icmp.7, netlink.7, signal.7: Global fix: use "Linux kernel source" consistently
Rather than "kernel source".
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-09-24 08:02:34 +00:00
|
|
|
For more information on performance counters, see the Linux kernel source file
|
2012-04-24 16:38:04 +00:00
|
|
|
.IR tools/perf/design.txt .
|
|
|
|
.IP
|
|
|
|
Originally called
|
|
|
|
.BR PR_TASK_PERF_COUNTERS_DISABLE ;
|
|
|
|
.\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
|
|
|
|
renamed (with same numerical value)
|
|
|
|
in Linux 2.6.32.
|
|
|
|
.TP
|
|
|
|
.BR PR_TASK_PERF_EVENTS_ENABLE " (since Linux 2.6.31)"
|
|
|
|
The converse of
|
|
|
|
.BR PR_TASK_PERF_EVENTS_DISABLE ;
|
|
|
|
enable performance counters attached to the calling process.
|
|
|
|
.IP
|
|
|
|
Originally called
|
|
|
|
.BR PR_TASK_PERF_COUNTERS_ENABLE ;
|
|
|
|
.\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
|
|
|
|
renamed
|
|
|
|
.\" commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
|
|
|
|
in Linux 2.6.32.
|
2008-07-16 14:01:02 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_SET_TSC " (since Linux 2.6.26, x86 only)"
|
|
|
|
Set the state of the flag determining whether the timestamp counter
|
|
|
|
can be read by the process.
|
|
|
|
Pass
|
|
|
|
.B PR_TSC_ENABLE
|
|
|
|
to
|
|
|
|
.I arg2
|
|
|
|
to allow it to be read, or
|
|
|
|
.B PR_TSC_SIGSEGV
|
|
|
|
to generate a
|
|
|
|
.B SIGSEGV
|
|
|
|
when the process tries to read the timestamp counter.
|
|
|
|
.TP
|
|
|
|
.BR PR_GET_TSC " (since Linux 2.6.26, x86 only)"
|
|
|
|
Return the state of the flag determining whether the timestamp counter
|
|
|
|
can be read,
|
|
|
|
in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
|
|
|
.TP
|
|
|
|
.B PR_SET_UNALIGN
|
|
|
|
(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15;
|
|
|
|
PowerPC, since Linux 2.6.18; Alpha, since Linux 2.6.22)
|
|
|
|
Set unaligned access control bits to \fIarg2\fP.
|
|
|
|
Pass
|
|
|
|
\fBPR_UNALIGN_NOPRINT\fP to silently fix up unaligned user accesses,
|
|
|
|
or \fBPR_UNALIGN_SIGBUS\fP to generate
|
|
|
|
.B SIGBUS
|
|
|
|
on unaligned user access.
|
|
|
|
.TP
|
|
|
|
.B PR_GET_UNALIGN
|
|
|
|
(see
|
|
|
|
.B PR_SET_UNALIGN
|
|
|
|
for information on versions and architectures)
|
|
|
|
Return unaligned access control bits, in the location pointed to by
|
|
|
|
.IR "(int\ *) arg2" .
|
2010-06-12 11:47:27 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_MCE_KILL " (since Linux 2.6.32)"
|
|
|
|
Set the machine check memory corruption kill policy for the current thread.
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR PR_MCE_KILL_CLEAR ,
|
|
|
|
clear the thread memory corruption kill policy and use the system-wide default.
|
|
|
|
(The system-wide default is defined by
|
|
|
|
.IR /proc/sys/vm/memory_failure_early_kill ;
|
|
|
|
see
|
|
|
|
.BR proc (5).)
|
|
|
|
If
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR PR_MCE_KILL_SET ,
|
|
|
|
use a thread-specific memory corruption kill policy.
|
|
|
|
In this case,
|
|
|
|
.I arg3
|
|
|
|
defines whether the policy is
|
2010-06-20 04:43:23 +00:00
|
|
|
.I early kill
|
2010-06-12 11:47:27 +00:00
|
|
|
.RB ( PR_MCE_KILL_EARLY ),
|
2010-06-20 04:43:23 +00:00
|
|
|
.I late kill
|
2010-06-12 11:47:27 +00:00
|
|
|
.RB ( PR_MCE_KILL_LATE ),
|
|
|
|
or the system-wide default
|
|
|
|
.RB ( PR_MCE_KILL_DEFAULT ).
|
2011-10-03 13:40:42 +00:00
|
|
|
Early kill means that the thread receives a
|
2010-06-12 11:47:27 +00:00
|
|
|
.B SIGBUS
|
|
|
|
signal as soon as hardware memory corruption is detected inside
|
|
|
|
its address space.
|
intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-31 08:53:00 +00:00
|
|
|
In late kill mode, the process is killed only when it accesses a corrupted page.
|
2010-06-12 11:47:27 +00:00
|
|
|
See
|
2011-09-08 15:06:05 +00:00
|
|
|
.BR sigaction (2)
|
2010-06-12 11:47:27 +00:00
|
|
|
for more information on the
|
|
|
|
.BR SIGBUS
|
|
|
|
signal.
|
|
|
|
The policy is inherited by children.
|
|
|
|
The remaining unused
|
|
|
|
.BR prctl ()
|
|
|
|
arguments must be zero for future compatibility.
|
|
|
|
.TP
|
|
|
|
.BR PR_MCE_KILL_GET " (since Linux 2.6.32)"
|
|
|
|
Return the current per-process machine check kill policy.
|
|
|
|
All unused
|
|
|
|
.BR prctl ()
|
|
|
|
arguments must be zero.
|
2012-04-15 01:03:10 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM " (since Linux 3.3)"
|
2014-02-13 00:49:16 +00:00
|
|
|
.\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036
|
2012-04-15 03:53:45 +00:00
|
|
|
Modify certain kernel memory map descriptor fields
|
2012-04-15 01:03:10 +00:00
|
|
|
of the calling process.
|
|
|
|
Usually these fields are set by the kernel and dynamic loader (see
|
|
|
|
.BR ld.so (8)
|
|
|
|
for more information) and a regular application should not use this feature.
|
2012-04-15 03:53:45 +00:00
|
|
|
However, there are cases, such as self-modifying programs,
|
|
|
|
where a program might find it useful to change its own memory map.
|
2012-04-16 07:36:48 +00:00
|
|
|
This feature is available only if the kernel is built with the
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR CONFIG_CHECKPOINT_RESTORE
|
2012-04-15 03:53:45 +00:00
|
|
|
option enabled.
|
|
|
|
The calling process must have the
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR CAP_SYS_RESOURCE
|
2012-04-15 03:53:45 +00:00
|
|
|
capability.
|
2012-04-15 01:03:10 +00:00
|
|
|
The value in
|
|
|
|
.I arg2
|
|
|
|
is one of the options below, while
|
|
|
|
.I arg3
|
2012-04-15 03:53:45 +00:00
|
|
|
provides a new value for the option.
|
|
|
|
.RS
|
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_START_CODE
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the address above which the program text can run.
|
2012-04-15 01:03:10 +00:00
|
|
|
The corresponding memory area must be readable and executable,
|
2012-04-15 03:53:45 +00:00
|
|
|
but not writable or sharable (see
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR mprotect (2)
|
|
|
|
and
|
|
|
|
.BR mmap (2)
|
|
|
|
for more information).
|
2012-04-15 03:53:45 +00:00
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_END_CODE
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the address below which the program text can run.
|
2012-04-15 01:03:10 +00:00
|
|
|
The corresponding memory area must be readable and executable,
|
2012-04-15 03:53:45 +00:00
|
|
|
but not writable or sharable.
|
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_START_DATA
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the address above which initialized and
|
|
|
|
uninitialized (bss) data are placed.
|
2012-04-15 01:03:10 +00:00
|
|
|
The corresponding memory area must be readable and writable,
|
2012-04-15 03:53:45 +00:00
|
|
|
but not executable or sharable.
|
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.B PR_SET_MM_END_DATA
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the address below which initialized and
|
|
|
|
uninitialized (bss) data are placed.
|
2012-04-15 01:03:10 +00:00
|
|
|
The corresponding memory area must be readable and writable,
|
2012-04-15 03:53:45 +00:00
|
|
|
but not executable or sharable.
|
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_START_STACK
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the start address of the stack.
|
2012-04-15 01:03:10 +00:00
|
|
|
The corresponding memory area must be readable and writable.
|
2012-04-15 03:53:45 +00:00
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_START_BRK
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the address above which the program heap can be expanded with
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR brk (2)
|
|
|
|
call.
|
2012-04-15 22:31:09 +00:00
|
|
|
The address must be greater than the ending address of
|
2012-04-15 03:53:45 +00:00
|
|
|
the current program data segment.
|
|
|
|
In addition, the combined size of the resulting heap and
|
|
|
|
the size of the data segment can't exceed the
|
|
|
|
.BR RLIMIT_DATA
|
|
|
|
resource limit (see
|
|
|
|
.BR setrlimit (2)).
|
|
|
|
.TP
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_BRK
|
2012-04-15 03:53:45 +00:00
|
|
|
Set the current
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR brk (2)
|
|
|
|
value.
|
2012-04-15 03:53:45 +00:00
|
|
|
The requirements for the address are the same as for the
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_SET_MM_START_BRK
|
|
|
|
option.
|
2014-02-13 00:49:14 +00:00
|
|
|
.P
|
|
|
|
The following options are available since Linux 3.5.
|
2014-02-13 00:49:16 +00:00
|
|
|
.\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7
|
2014-02-13 00:49:13 +00:00
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_ARG_START
|
|
|
|
Set the address above which the program command line is placed.
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_ARG_END
|
|
|
|
Set the address below which the program command line is placed.
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_ENV_START
|
|
|
|
Set the address above which the program environment is placed.
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_ENV_END
|
|
|
|
Set the address below which the program environment is placed.
|
|
|
|
.IP
|
|
|
|
The address passed with
|
|
|
|
.BR PR_SET_MM_ARG_START ,
|
|
|
|
.BR PR_SET_MM_ARG_END ,
|
|
|
|
.BR PR_SET_MM_ENV_START ,
|
|
|
|
and
|
|
|
|
.BR PR_SET_MM_ENV_END
|
|
|
|
should belong to a process stack area.
|
|
|
|
Thus, the corresponding memory area must be readable, writable, and
|
|
|
|
(depending on the kernel configuration) have the
|
|
|
|
.BR MAP_GROWSDOWN
|
|
|
|
attribute set (see
|
|
|
|
.BR mmap (2)).
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_AUXV
|
|
|
|
Set a new auxiliary vector.
|
|
|
|
The
|
|
|
|
.I arg3
|
|
|
|
argument should provide the address of the vector.
|
|
|
|
The
|
|
|
|
.I arg4
|
|
|
|
is the size of the vector.
|
|
|
|
.TP
|
|
|
|
.BR PR_SET_MM_EXE_FILE
|
2014-02-13 00:49:16 +00:00
|
|
|
.\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6
|
2014-02-13 00:49:13 +00:00
|
|
|
Supersede the
|
|
|
|
.IR /proc/pid/exe
|
|
|
|
symbolic link with a new one pointing to a new executable file
|
|
|
|
identified by the file descriptor provided in
|
|
|
|
.I arg3
|
|
|
|
argument.
|
|
|
|
The file descriptor should be obtained with a regular
|
|
|
|
.BR open (2)
|
|
|
|
call.
|
|
|
|
.IP
|
|
|
|
To change the symbolic link, one needs to unmap all existing
|
|
|
|
executable memory areas, including those created by the kernel itself
|
|
|
|
(for example the kernel usually creates at least one executable
|
|
|
|
memory area for the ELF
|
|
|
|
.IR \.text
|
|
|
|
section).
|
|
|
|
.IP
|
|
|
|
The second limitation is that such transitions can be done only once
|
|
|
|
in a process life time.
|
|
|
|
Any further attempts will be rejected.
|
2014-02-13 00:49:15 +00:00
|
|
|
This should help system administrators monitor unusual
|
|
|
|
symbolic-link transitions over all processes running on a system.
|
2012-04-15 03:53:45 +00:00
|
|
|
.RE
|
2015-01-10 14:03:47 +00:00
|
|
|
.TP
|
2015-01-10 14:15:03 +00:00
|
|
|
.BR PR_MPX_ENABLE_MANAGEMENT ", " PR_MPX_DISABLE_MANAGEMENT " (since Linux 3.19) "
|
2015-01-10 14:03:47 +00:00
|
|
|
.\" commit fe3d197f84319d3bce379a9c0dc17b1f48ad358c
|
|
|
|
.\" See also http://lwn.net/Articles/582712/
|
|
|
|
.\" See also https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler
|
2015-01-10 14:15:03 +00:00
|
|
|
Enable or disable kernel management of Memory Protection eXtensions (MPX)
|
2015-01-10 14:03:47 +00:00
|
|
|
bounds tables.
|
2015-01-26 05:56:28 +00:00
|
|
|
The
|
|
|
|
.IR arg2 ,
|
|
|
|
.IR arg3 ,
|
|
|
|
.IR arg4 ,
|
|
|
|
and
|
|
|
|
.IR arg5
|
|
|
|
.\" commit e9d1b4f3c60997fe197bf0243cb4a41a44387a88
|
|
|
|
arguments must be zero.
|
2015-01-10 14:03:47 +00:00
|
|
|
|
|
|
|
MPX is a hardware-assisted mechanism for performing bounds checking on
|
2015-01-10 14:15:03 +00:00
|
|
|
pointers.
|
|
|
|
It consists of a set of registers storing bounds information
|
2015-01-10 14:03:47 +00:00
|
|
|
and a set of special instruction prefixes that tell the CPU on which
|
2015-01-10 14:15:03 +00:00
|
|
|
instructions it should do bounds enforcement.
|
|
|
|
There is a limited number of these registers and
|
|
|
|
when there are more pointers than registers,
|
|
|
|
their contents must be "spilled" into a set of tables.
|
|
|
|
These tables are called "bounds tables" and the MPX
|
|
|
|
.BR prctl ()
|
|
|
|
operations control
|
2015-01-10 14:03:47 +00:00
|
|
|
whether the kernel manages their allocation and freeing.
|
|
|
|
|
|
|
|
When management is enabled, the kernel will take over allocation
|
2015-01-10 14:15:03 +00:00
|
|
|
and freeing of the bounds tables.
|
|
|
|
It does this by trapping the #BR exceptions that result
|
|
|
|
at first use of missing bounds tables and
|
|
|
|
instead of delivering the exception to user space,
|
|
|
|
it allocates the table and populates the bounds directory
|
|
|
|
with the location of the new table.
|
|
|
|
For freeing, the kernel checks to see if bounds tables are
|
2015-01-10 14:03:47 +00:00
|
|
|
present for memory which is not allocated, and frees them if so.
|
|
|
|
|
2015-01-10 14:15:03 +00:00
|
|
|
Before enabling MPX management using
|
|
|
|
.BR PR_MPX_ENABLE_MANAGEMENT ,
|
2015-01-10 14:03:47 +00:00
|
|
|
the application must first have allocated a user-space buffer for
|
2015-01-10 14:15:03 +00:00
|
|
|
the bounds directory and placed the location of that directory in the
|
|
|
|
.I bndcfgu
|
|
|
|
register.
|
2015-01-10 14:03:47 +00:00
|
|
|
|
|
|
|
These calls will fail if the CPU or kernel does not support MPX.
|
|
|
|
Kernel support for MPX is enabled via the
|
|
|
|
.BR CONFIG_X86_INTEL_MPX
|
|
|
|
configuration option.
|
|
|
|
You can check whether the CPU supports MPX by looking for the 'mpx'
|
|
|
|
CPUID bit, like with the following command:
|
|
|
|
|
|
|
|
cat /proc/cpuinfo | grep ' mpx '
|
|
|
|
|
|
|
|
A thread may not switch in or out of long (64-bit) mode while MPX is
|
|
|
|
enabled.
|
|
|
|
|
|
|
|
All threads in a process are affected by these calls.
|
|
|
|
|
2015-01-10 14:15:03 +00:00
|
|
|
The child of a
|
|
|
|
.BR fork (2)
|
|
|
|
inherits the state of MPX management.
|
|
|
|
During
|
|
|
|
.BR execve (2),
|
|
|
|
MPX management is reset to a state as if
|
|
|
|
.BR PR_MPX_DISABLE_MANAGEMENT
|
|
|
|
had been called.
|
2015-01-10 14:03:47 +00:00
|
|
|
|
|
|
|
For further information on Intel MPX, see the kernel source file
|
|
|
|
.IR Documentation/x86/intel_mpx.txt .
|
2012-04-15 01:03:10 +00:00
|
|
|
.\"
|
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 18:01:36 +00:00
|
|
|
.SH RETURN VALUE
|
2008-07-09 11:53:48 +00:00
|
|
|
On success,
|
|
|
|
.BR PR_GET_DUMPABLE ,
|
|
|
|
.BR PR_GET_KEEPCAPS ,
|
2012-10-22 07:13:08 +00:00
|
|
|
.BR PR_GET_NO_NEW_PRIVS ,
|
2014-04-14 10:07:33 +00:00
|
|
|
.BR PR_GET_THP_DISABLE ,
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_CAPBSET_READ ,
|
|
|
|
.BR PR_GET_TIMING ,
|
2014-02-22 08:46:39 +00:00
|
|
|
.BR PR_GET_TIMERSLACK ,
|
2008-07-09 11:53:48 +00:00
|
|
|
.BR PR_GET_SECUREBITS ,
|
2010-06-12 11:47:27 +00:00
|
|
|
.BR PR_MCE_KILL_GET ,
|
2008-07-09 11:53:48 +00:00
|
|
|
and (if it returns)
|
|
|
|
.BR PR_GET_SECCOMP
|
_syscall.2, accept.2, epoll_create.2, inotify_add_watch.2, ioctl.2, msgget.2, msgop.2, open.2, prctl.2, sched_setscheduler.2, semctl.2, semget.2, swapon.2, addseverity.3, cacosh.3, csqrt.3, dirfd.3, drand48.3, fputws.3, mq_send.3, posix_openpt.3, puts.3, sched_getcpu.3, shm_open.3, sqrt.3, sysconf.3, tgamma.3, ulimit.3, credentials.7, svipc.7: Global fix: s/non-negative/nonnegative/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:44:48 +00:00
|
|
|
return the nonnegative values described above.
|
2004-11-03 13:51:07 +00:00
|
|
|
All other
|
|
|
|
.I option
|
|
|
|
values return 0 on success.
|
|
|
|
On error, \-1 is returned, and
|
|
|
|
.I errno
|
|
|
|
is set appropriately.
|
|
|
|
.SH ERRORS
|
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.B EFAULT
|
|
|
|
.I arg2
|
|
|
|
is an invalid address.
|
|
|
|
.TP
|
2014-09-25 22:47:47 +00:00
|
|
|
.B EFAULT
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_SECCOMP ,
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR SECCOMP_MODE_FILTER ,
|
|
|
|
the system was built with
|
2015-01-07 08:42:47 +00:00
|
|
|
.BR CONFIG_SECCOMP_FILTER ,
|
2014-09-25 22:47:47 +00:00
|
|
|
and
|
|
|
|
.I arg3
|
|
|
|
is an invalid address.
|
|
|
|
.TP
|
2004-11-03 13:51:07 +00:00
|
|
|
.B EINVAL
|
|
|
|
The value of
|
|
|
|
.I option
|
2008-09-29 09:00:36 +00:00
|
|
|
is not recognized.
|
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.B EINVAL
|
2010-06-12 11:47:27 +00:00
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_MCE_KILL
|
|
|
|
or
|
2012-04-15 01:03:10 +00:00
|
|
|
.BR PR_MCE_KILL_GET
|
|
|
|
or
|
|
|
|
.BR PR_SET_MM ,
|
2010-06-12 11:47:27 +00:00
|
|
|
and unused
|
|
|
|
.BR prctl ()
|
|
|
|
arguments were not specified as zero.
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
2004-11-03 13:51:07 +00:00
|
|
|
.I arg2
|
2008-07-09 11:53:48 +00:00
|
|
|
is not valid value for this
|
|
|
|
.IR option .
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_SECCOMP
|
|
|
|
or
|
2013-02-08 00:15:05 +00:00
|
|
|
.BR PR_GET_SECCOMP ,
|
2008-07-09 11:53:48 +00:00
|
|
|
and the kernel was not configured with
|
|
|
|
.BR CONFIG_SECCOMP .
|
2012-04-15 03:53:45 +00:00
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
2014-09-25 22:47:47 +00:00
|
|
|
.BR PR_SET_SECCOMP ,
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR SECCOMP_MODE_FILTER ,
|
|
|
|
and the kernel was not configured with
|
|
|
|
.BR CONFIG_SECCOMP_FILTER .
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
2012-04-15 03:53:45 +00:00
|
|
|
.BR PR_SET_MM ,
|
|
|
|
and one of the following is true
|
|
|
|
.RS
|
|
|
|
.IP * 3
|
|
|
|
.I arg4
|
|
|
|
or
|
|
|
|
.I arg5
|
|
|
|
is nonzero;
|
|
|
|
.IP *
|
|
|
|
.I arg3
|
|
|
|
is greater than
|
|
|
|
.B TASK_SIZE
|
|
|
|
(the limit on the size of the user address space for this architecture);
|
|
|
|
.IP *
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM_START_CODE ,
|
|
|
|
.BR PR_SET_MM_END_CODE ,
|
|
|
|
.BR PR_SET_MM_START_DATA ,
|
|
|
|
.BR PR_SET_MM_END_DATA ,
|
|
|
|
or
|
2014-02-08 12:11:57 +00:00
|
|
|
.BR PR_SET_MM_START_STACK ,
|
2012-04-15 03:53:45 +00:00
|
|
|
and the permissions of the corresponding memory area are not as required;
|
|
|
|
.IP *
|
|
|
|
.I arg2
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM_START_BRK
|
|
|
|
or
|
|
|
|
.BR PR_SET_MM_BRK ,
|
|
|
|
and
|
|
|
|
.I arg3
|
|
|
|
is less than or equal to the end of the data segment
|
|
|
|
or specifies a value that would cause the
|
|
|
|
.B RLIMIT_DATA
|
|
|
|
resource limit to be exceeded.
|
|
|
|
.RE
|
2008-07-09 11:53:48 +00:00
|
|
|
.TP
|
2013-01-11 10:28:18 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_PTRACER
|
|
|
|
and
|
|
|
|
.I arg2
|
|
|
|
is not 0,
|
|
|
|
.BR PR_SET_PTRACER_ANY ,
|
|
|
|
or the PID of an existing process.
|
|
|
|
.TP
|
2014-04-14 06:31:16 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.B PR_SET_PDEATHSIG
|
|
|
|
and
|
|
|
|
.I arg2
|
|
|
|
is not a valid signal number.
|
|
|
|
.TP
|
2014-04-14 06:35:03 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_DUMPABLE
|
|
|
|
and
|
|
|
|
.I arg2
|
|
|
|
is neither
|
|
|
|
.B SUID_DUMP_DISABLE
|
|
|
|
nor
|
|
|
|
.BR SUID_DUMP_USER .
|
|
|
|
.TP
|
2014-04-14 06:36:45 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_TIMING
|
|
|
|
and
|
|
|
|
.I arg2
|
|
|
|
is not
|
|
|
|
.BR PR_TIMING_STATISTICAL .
|
|
|
|
.TP
|
2014-04-14 06:38:57 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_NO_NEW_PRIVS
|
|
|
|
and
|
|
|
|
.I arg2
|
|
|
|
is not equal to 1
|
|
|
|
or
|
|
|
|
.IR arg3 ,
|
|
|
|
.IR arg4 ,
|
|
|
|
or
|
|
|
|
.IR arg5
|
|
|
|
is nonzero.
|
|
|
|
.TP
|
2014-04-14 06:39:53 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_GET_NO_NEW_PRIVS
|
|
|
|
and
|
|
|
|
.IR arg2 ,
|
|
|
|
.IR arg3 ,
|
|
|
|
.IR arg4 ,
|
|
|
|
or
|
|
|
|
.IR arg5
|
|
|
|
is nonzero.
|
|
|
|
.TP
|
2014-04-14 10:07:33 +00:00
|
|
|
.B EINVAL
|
|
|
|
.I option
|
2014-05-04 20:27:47 +00:00
|
|
|
is
|
|
|
|
.BR PR_SET_THP_DISABLE
|
2014-04-14 10:07:33 +00:00
|
|
|
and
|
|
|
|
.IR arg3 ,
|
|
|
|
.IR arg4 ,
|
|
|
|
or
|
|
|
|
.IR arg5
|
|
|
|
is nonzero.
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
.I option
|
2014-05-04 20:27:47 +00:00
|
|
|
is
|
|
|
|
.BR PR_GET_THP_DISABLE
|
2014-04-14 10:07:33 +00:00
|
|
|
and
|
|
|
|
.IR arg2 ,
|
|
|
|
.IR arg3 ,
|
|
|
|
.IR arg4 ,
|
|
|
|
or
|
|
|
|
.IR arg5
|
|
|
|
is nonzero.
|
|
|
|
.TP
|
2008-07-09 11:53:48 +00:00
|
|
|
.B EPERM
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_SECUREBITS ,
|
|
|
|
and the caller does not have the
|
|
|
|
.B CAP_SETPCAP
|
|
|
|
capability,
|
|
|
|
or tried to unset a "locked" flag,
|
|
|
|
or tried to set a flag whose corresponding locked flag was set
|
|
|
|
(see
|
|
|
|
.BR capabilities (7)).
|
|
|
|
.TP
|
|
|
|
.B EPERM
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_KEEPCAPS ,
|
|
|
|
and the callers's
|
|
|
|
.B SECURE_KEEP_CAPS_LOCKED
|
|
|
|
flag is set
|
|
|
|
(see
|
|
|
|
.BR capabilities (7)).
|
|
|
|
.TP
|
|
|
|
.B EPERM
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_CAPBSET_DROP ,
|
|
|
|
and the caller does not have the
|
|
|
|
.B CAP_SETPCAP
|
|
|
|
capability.
|
2012-04-15 01:03:10 +00:00
|
|
|
.TP
|
|
|
|
.B EPERM
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM ,
|
|
|
|
and the caller does not have the
|
|
|
|
.B CAP_SYS_RESOURCE
|
|
|
|
capability.
|
2014-02-13 00:49:13 +00:00
|
|
|
.TP
|
|
|
|
.B EACCES
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM ,
|
|
|
|
and
|
|
|
|
.I arg3
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM_EXE_FILE ,
|
|
|
|
the file is not executable.
|
|
|
|
.TP
|
|
|
|
.B EBUSY
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM ,
|
|
|
|
.I arg3
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM_EXE_FILE ,
|
|
|
|
and this the second attempt to change the
|
|
|
|
.I /proc/pid/exe
|
|
|
|
symbolic link, which is prohibited.
|
|
|
|
.TP
|
|
|
|
.B EBADF
|
|
|
|
.I option
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM ,
|
|
|
|
.I arg3
|
|
|
|
is
|
|
|
|
.BR PR_SET_MM_EXE_FILE ,
|
|
|
|
and the file descriptor passed in
|
|
|
|
.I arg4
|
|
|
|
is not valid.
|
2008-07-09 11:53:48 +00:00
|
|
|
.\" The following can't actually happen, because prctl() in
|
|
|
|
.\" seccomp mode will cause SIGKILL.
|
|
|
|
.\" .TP
|
|
|
|
.\" .B EPERM
|
|
|
|
.\" .I option
|
|
|
|
.\" is
|
|
|
|
.\" .BR PR_SET_SECCOMP ,
|
|
|
|
.\" and secure computing mode is already 1.
|
2015-01-10 14:03:47 +00:00
|
|
|
.TP
|
|
|
|
.B ENXIO
|
|
|
|
.I option
|
2015-01-10 14:15:03 +00:00
|
|
|
was
|
|
|
|
.BR PR_MPX_ENABLE_MANAGEMENT
|
|
|
|
or
|
|
|
|
.BR PR_MPX_DISABLE_MANAGEMENT
|
|
|
|
and the kernel or the CPU does not support MPX management.
|
|
|
|
Check that the kernel and processor have MPX support.
|
2007-05-18 16:06:42 +00:00
|
|
|
.SH VERSIONS
|
|
|
|
The
|
|
|
|
.BR prctl ()
|
|
|
|
system call was introduced in Linux 2.1.57.
|
|
|
|
.\" The library interface was added in glibc 2.0.6
|
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 18:01:36 +00:00
|
|
|
.SH CONFORMING TO
|
2007-12-25 21:28:09 +00:00
|
|
|
This call is Linux-specific.
|
2007-04-12 22:42:49 +00:00
|
|
|
IRIX has a
|
2005-10-20 15:11:10 +00:00
|
|
|
.BR prctl ()
|
|
|
|
system call (also introduced in Linux 2.1.44
|
2004-11-03 13:51:07 +00:00
|
|
|
as irix_prctl on the MIPS architecture),
|
|
|
|
with prototype
|
|
|
|
.sp
|
|
|
|
.BI "ptrdiff_t prctl(int " option ", int " arg2 ", int " arg3 );
|
|
|
|
.sp
|
|
|
|
and options 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,
|
2012-05-06 19:56:33 +00:00
|
|
|
get or set the maximum stack size, and so on.
|
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 18:01:36 +00:00
|
|
|
.SH SEE ALSO
|
2006-08-03 03:02:31 +00:00
|
|
|
.BR signal (2),
|
2006-03-31 07:10:17 +00:00
|
|
|
.BR core (5)
|