NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |VERSIONS |STANDARDS |HISTORY |SEE ALSO |COLOPHON | |
KEYCTL_SESSION_TO_PARENT(2const)KEYCTL_SESSION_TO_PARENT(2const)KEYCTL_SESSION_TO_PARENT - set the parent process's session keyring
Standard C library (libc,-lc)
#include <linux/keyctl.h>/* Definition ofKEY*constants */#include <sys/syscall.h>/* Definition ofSYS_*constants */#include <unistd.h>long syscall(SYS_keyctl, KEYCTL_SESSION_TO_PARENT);
Replace the session keyring to which theparent of the calling process subscribes with the session keyring of the calling process. The keyring will be replaced in the parent process at the point where the parent next transitions from kernel space to user space. The keyring must exist and must grant the callerlink permission. The parent process must be single-threaded and have the same effective ownership as this process and must not be set-user-ID or set-group-ID. The UID of the parent process's existing session keyring (f it has one), as well as the UID of the caller's session keyring much match the caller's effective UID. The fact that it is the parent process that is affected by this operation allows a program such as the shell to start a child process that uses this operation to change the shell's session keyring. (This is what thekeyctl(1)new_sessioncommand does.)
On success, 0 is returned. On error, -1 is returned, anderrno is set to indicate the error.
EPERMAll of the UIDs (GIDs) of the parent process do not match the effective UID (GID) of the calling process.EPERMThe UID of the parent's existing session keyring or the UID of the caller's session keyring did not match the effective UID of the caller.EPERMThe parent process is not single-threaded.EPERMThe parent process isinit(1) or a kernel thread.
A wrapper is provided in thelibkeyutils library:keyctl_session_to_parent(3).
Linux.
Linux 2.6.32.
keyctl(2),keyctl_session_to_parent(3)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-06-01KEYCTL_SESSION_TO_PARENT(2const)Pages that refer to this page:keyctl(2), KEYCTL_SETPERM(2const)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |