keyctl_session_to_parent man page

keyctl_session_to_parent — Set the parent process's session keyring

Synopsis

#include <keyutils.h>

long keyctl_session_to_parent();

Description

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.

Return Value

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.

Errors

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.

Linking

This is a library function that can be found in libkeyutils. When linking, -lkeyutils should be specified to the linker.

See Also

keyctl(1),
add_key(2),
keyctl(2),
request_key(2),
keyctl(3),
session-keyring(7),
user-session-keyring(7),
keyutils(7),
keyrings(7)

Referenced By

keyctl(3), session-keyring(7).

20 Feb 2014 Linux Linux Key Management Calls