KEYCTL_GET_KEYRING_ID


Map a special key ID to a real key ID for current process. The special key specified by "id" is looked up (with the key being created if necessary) and the ID of the key or keyring thus found is returned if it exists.

Arguments

ecx Key serial number. It may be one of the following special values:

KEY_SPEC_THREAD_KEYRING Caller's thread-specific keyring.
KEY_SPEC_PROCESS_KEYRING Caller's process-specific keyring.
KEY_SPEC_SESSION_KEYRING Caller's session-specific keyring.
KEY_SPEC_USER_KEYRING Caller's UID-specific keyring.
KEY_SPEC_USER_SESSION_KEYRING Caller's UID-session keyring.
KEY_SPEC_GROUP_KEYRING Caller's GID-specific keyring.
KEY_SPEC_REQKEY_AUTH_KEY This specifies the authorization key created by request_key() and passed to the process it spawns to generate a key. If a valid keyring ID is passed in, then this will simply be returned if the key exists; an error will be issued if it doesn't exist.
edx Specifies whether a new key should be created if it does not yet exist. A non-zero value denotes that the key should be created.

Return values

If the system call succeeds the return value is key or keyring ID.
If the system call fails the return value is one of the following errno values:

-ENOKEY No matching key was found.
-ENOMEM Insufficient memory to create a key.
-EDQUOT The key quota for this user would be exceeded by creating this key or linking it to the keyring.

Remarks

n/a