KEYCTL\_JOIN\_SESSION\_KEYRING(3) Linux Key Management Calls KEYCTL\_JOIN\_SESSION\_KEYRING(3)

# [NAME](#NAME)

keyctl\_join\_session\_keyring - join a different session keyring

# [SYNOPSIS](#SYNOPSIS)

```
#include <keyutils.h>

key_serial_t keyctl_join_session_keyring(const char *name);
```

# [DESCRIPTION](#DESCRIPTION)

**keyctl\_join\_session\_keyring**() changes the session keyring to which a process is subscribed.

If *name* is **NULL** then a new anonymous keyring will be created, and the process will be subscribed to that.

If *name* points to a string, then if a keyring of that name is available, the process will attempt to subscribe to that keyring, giving an error if that is not permitted; otherwise a new keyring of that name is created and attached as the session keyring.

To attach to an extant named keyring, the keyring must have **search** permission available to the calling process.

# [RETURN VALUE](#RETURN_VALUE)

On success **keyctl\_join\_session\_keyring**() returns the serial number of the key it found or created. On error, the value **-1** will be returned and *errno* will have been set to an appropriate error.

# [ERRORS](#ERRORS)

[**ENOMEM**](#ENOMEM)

Insufficient memory to create a key.

[**EDQUOT**](#EDQUOT)

The key quota for this user would be exceeded by creating this key or linking it to the keyring.

[**EACCES**](#EACCES)

The named keyring exists, but is not **searchable** by the calling process.

# [LINKING](#LINKING)

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

# [SEE ALSO](#SEE_ALSO)

[**keyctl**(1)](/man/os/keyutils/keyctl.1), [**add\_key**(2)](/man/os/keyutils/add_key.2), [**keyctl**(2)](/man/os/keyutils/keyctl.2), [**request\_key**(2)](/man/os/keyutils/request_key.2), [**keyctl**(3)](/man/os/keyutils/keyctl.3), [**keyrings**(7)](/man/os/keyutils/keyrings.7), [**keyutils**(7)](/man/os/keyutils/keyutils.7), [**session-keyring**(7)](/man/os/keyutils/session-keyring.7), [**user-session-keyring**(7)](/man/os/keyutils/user-session-keyring.7)

20 Feb 2014 Linux

---

Document: keyctl_join_session_keyring(3) from keyutils 1.6.3-r41 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils.git
