KEYCTL_SET_REQKEY_KEYRING(2const) KEYCTL_SET_REQKEY_KEYRING(2const)

KEYCTL_SET_REQKEY_KEYRING - set the implicit destination keyring

Standard C library (libc-lc)

#include <linux/keyctl.h>  /* Definition of KEY* constants */
#include <sys/syscall.h>   /* Definition of SYS_* constants */
#include <unistd.h>
long syscall(SYS_keyctl, KEYCTL_SET_REQKEY_KEYRING, int op);

Set the default keyring to which implicitly requested keys will be linked for this thread, and return the previous setting. Implicit key requests are those made by internal kernel components, such as can occur when, for example, opening files on an AFS or NFS filesystem. Setting the default keyring also has an effect when requesting a key from user space; see request_key(2) for details.

The op argument should contain one of the following values, to specify the new default keyring:

Don't change the default keyring. This can be used to discover the current default keyring (without changing it).
This selects the default behaviour, which is to use the thread-specific keyring if there is one, otherwise the process-specific keyring if there is one, otherwise the session keyring if there is one, otherwise the UID-specific session keyring, otherwise the user-specific keyring.
Use the thread-specific keyring (thread-keyring(7)) as the new default keyring.
Use the process-specific keyring (process-keyring(7)) as the new default keyring.
Use the session-specific keyring (session-keyring(7)) as the new default keyring.
Use the UID-specific keyring (user-keyring(7)) as the new default keyring.
Use the UID-specific session keyring (user-session-keyring(7)) as the new default keyring.
Use the requestor keyring.

All other values are invalid.

The setting controlled by this operation is inherited by the child of fork(2) and preserved across execve(2).

On success, the ID of the previous default keyring to which implicitly requested keys were linked (one of KEY_REQKEY_DEFL_USER_*).

On error, -1 is returned, and errno is set to indicate the error.

A wrapper is provided in the libkeyutils library: keyctl_set_reqkey_keyring(3)

Linux.

Linux 2.6.13.

keyctl(2), keyctl_set_reqkey_keyring(3)

2024-08-21 Linux man-pages 6.10