---
name: "KEYCTL_JOIN_SESSION_KEYRING"
section: "2const"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/KEYCTL_JOIN_SESSION_KEYRING"
---

# KEYCTL\_JOIN\_SESSION\_KEYRING(2const)

replace the session keyring this process subscribes to with a new one

## NAME

KEYCTL\_JOIN\_SESSION\_KEYRING - replace the session keyring this process subscribes to with a new one

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <linux/keyctl.h>  /* Definition of KEY* constants */
#include <sys/syscall.h>   /* Definition of SYS_* constants */
#include <unistd.h>
```

**long syscall(SYS\_keyctl, KEYCTL\_JOIN\_SESSION\_KEYRING,**              **char \*\_Nullable** *desc***);**

## DESCRIPTION

Replace the session keyring this process subscribes to with a new session keyring.

If *desc* is NULL, an anonymous keyring with the description "\_ses" is created and the process is subscribed to that keyring as its session keyring, displacing the previous session keyring.

Otherwise, *desc* is treated as the description (name) of a keyring, and the behavior is as follows:

- •

  If a keyring with a matching description exists, the process will attempt to subscribe to that keyring as its session keyring if possible; if that is not possible, an error is returned. In order to subscribe to the keyring, the caller must have *search* permission on the keyring.

- •

  If a keyring with a matching description does not exist, then a new keyring with the specified description is created, and the process is subscribed to that keyring as its session keyring.

## RETURN VALUE

On success, the ID of the joined session keyring.

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

## VERSIONS

A wrapper is provided in the *libkeyutils* library: [**keyctl\_join\_session\_keyring**(3)](/keyctl_join_session_keyring/3.md).

## STANDARDS

Linux.

## HISTORY

Linux 2.6.10.

## SEE ALSO

[**keyctl**(2)](/keyctl/2.md), [**keyctl\_join\_session\_keyring**(3)](/keyctl_join_session_keyring/3.md)
