Hello.
I've drafted some updates to the keyctl.2 man page while preparing test
for strace syscall decoder. It is focused mostly on description of argument
format used in various commands and return values/error codes.
Information is based on Documentation/security/keys.txt,
include/uapi/linux/keyctl.h, and source code and comments in
security/keys/ (mostly comments from security/keys/keyctl.c).
Hope you find it useful.
These types changed from 'void *' to 'int *' back in Linux 3.8.
The new types are closer to reality, so just update the page
without discussing the history.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
The prototype for the system call was added in kernel commit
81f10dad, but looking at the kernel's fork.c, I believe the
relevant definition is
SYSCALL_DEFINE5(clone, unsigned long, clone_flags,
unsigned long, newsp,
int __user *, parent_tidptr,
int __user *, child_tidptr,
unsigned long, tls)
so the last argument is the tls argument, not a pt_regs argument.
I stumbled upon this while trying to understand CLONE_SETTLS, so
I expanded that description a little to cover other architectures.
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Added information regarding structure definitions used for
XFS-specific subcommands, updated flag constants, added
information regarding ignored syscall arguments, added notes on
usage of kernel UAPI header.
Added information regarding DQF_SYS_FILE flag; updated definition
of V1_DQF_RSQUASH, which has been defined privately and defined
publicly as DQF_ROOT_SQUASH.
Simplify list of cases that cause dumpable attribute to
reset to suid_dumpable: there were two lists that together
in effect had many duplicates.
Also some minor rewordings.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
The existing page left the choice of clock as ambiguous. My
reading of the kernel implementation is that CLOCK_MONOTONIC is
always used since ep_poll() calls schedule_hrtimeout_range(),
which calls schedule_hrtimeout_range_clock() passing
CLOCK_MONOTONIC.
References:
http://lxr.free-electrons.com/source/fs/eventpoll.c?v=4.7#L1614http://lxr.free-electrons.com/source/kernel/time/hrtimer.c?v=4.7#L1785
The "measured against" terminology was borrowed from nanosleep.2.
I've checked all the way back to Linux v2.6.12 where the
calculation was done using jiffies so I think that this has
effectively always been true.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Clarify that this error is produced by the wrapper function, not
the underlying system call. In particular, the point is that the
raw system call can accommodate a NULL pointer for 'child_stack'.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
The Linux kernel commit 695f05593693 ("fs/proc/task_mmu.c: add
user-space support for resetting mm->hiwater_rss (peak RSS)") added a
way to reset peak RSS of a process but missed to update manpage.
Cc: Petr Cermak <petrcermak@chromium.org>
Acked-by: Petr Cermak <petrcermak@chromium.org>
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Also remove mention of UID 0 as a method or creating
a raw socket. As far as I can tell from reading the
kernel source (net/ipv4/af_inet.c), this is not true.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>