keyctl_move(3) — Linux manual page
KEYCTL_MOVE(3) Linux Key Management Calls KEYCTL_MOVE(3)
NAME
keyctl_move - Move a key between keyrings
SYNOPSIS
#include <keyutils.h>
long keyctl_move(key_serial_t key, key_serial_t from_keyring,
key_serial_t to_keyring, unsigned int flags);
DESCRIPTION
keyctl_move() atomically unlinks key from from_keyring and links
it into to_keyring in a single operation. Depending on the flags
set, a link to any matching key in to_keyring may get displaced.
flags is a bitwise-OR of zero or more of the following flags:
KEYCTL_MOVE_EXCL
If there's a matching key in to_keyring, don't displace it
but rather return an error.
The caller must have write permission on both keyring to be able
to create or remove links in them.
The caller must have link permission on a key to be able to
create a new link to it.
RETURN VALUE
On success keyctl_move() return 0. On error, the value -1 will
be returned and errno will have been set to an appropriate error.
ERRORS
ENOKEY The key or one of the keyrings specified are invalid.
ENOKEY A key with the same type and description is present in
to_keyring and KEYCTL_MOVE_EXCL is set.
EKEYEXPIRED
The key or one of the keyrings specified have expired.
EKEYREVOKED
The key or one of the keyrings specified have been
revoked.
EACCES The key exists, but is not linkable by the calling
process.
EACCES The keyrings exist, but are not writable by the calling
process.
ENOMEM Insufficient memory to effect the changes.
EDQUOT Expanding to_keyring would exceed the keyring owner's
quota.
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),
keyrings(7), keyutils(7)
COLOPHON
This page is part of the keyutils (key management utilities)
project. Information about the project can be found at [unknown
-- if you know, please contact man-pages@man7.org] If you have a
bug report for this manual page, send it to
keyrings@linux-nfs.org. This page was obtained from the
project's upstream Git repository
⟨http://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git⟩
on 2024-06-14. (At that time, the date of the most recent commit
that was found in the repository was 2023-03-20.) If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for
the page, or you have corrections or improvements to the
information in this COLOPHON (which is not part of the original
manual page), send a mail to man-pages@man7.org
Linux 29 May 2019 KEYCTL_MOVE(3)
Pages that refer to this page: keyctl(3)