keyctl_session_to_parent - set the parent process's session keyring
#include <keyutils.h>
long keyctl_session_to_parent();
keyctl_session_to_parent() changes the session keyring to which the
calling process's parent subscribes to be the that of the calling process.
The keyring must have
link permission available to the calling process,
the parent process must have the same UIDs/GIDs as the calling process, and
the LSM must not reject the replacement. Furthermore, this may not be used to
affect init or a kernel thread.
Note that the replacement will not take immediate effect upon the parent
process, but will rather be deferred to the next time it returns to userspace
from kernel space.
On success
keyctl_session_to_parent() returns 0. On error, the value
-1 will be returned and
errno will have been set to an
appropriate error.
- ENOMEM
- Insufficient memory to create a key.
- EPERM
- The credentials of the parent don't match those of the
caller.
- EACCES
- The named keyring exists, but is not linkable by the
calling process.
This is a library function that can be found in
libkeyutils. When
linking,
-lkeyutils should be specified to the linker.
keyctl(1),
add_key(2),
keyctl(2),
request_key(2),
keyctl(3),
keyrings(7),
keyutils(7),
session-keyring(7),
user-session-keyring(7)