NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |LINKING |SEE ALSO |COLOPHON | |
KEYCTL_MOVE(3) Linux Key Management CallsKEYCTL_MOVE(3)keyctl_move - Move a key between keyrings
#include <keyutils.h>long keyctl_move(key_serial_tkey, key_serial_tfrom_keyring,key_serial_tto_keyring, unsigned intflags);
keyctl_move() atomically unlinkskey fromfrom_keyring and links it intoto_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 havewritepermission on both keyring to be able to create or remove links in them. The caller must havelinkpermission on a key to be able to create a new link to it.
On successkeyctl_move() return0. On error, the value-1will be returned anderrno will have been set to an appropriate error.
ENOKEYThe key or one of the keyrings specified are invalid.ENOKEYA 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.EACCESThe key exists, but is notlinkableby the calling process.EACCESThe keyrings exist, but are notwritableby the calling process.ENOMEMInsufficient memory to effect the changes.EDQUOTExpanding to_keyring would exceed the keyring owner's quota.
This is a library function that can be found inlibkeyutils. When linking,-lkeyutilsshould be specified to the linker.
keyctl(1),add_key(2),keyctl(2),request_key(2),keyctl(3),keyrings(7),keyutils(7)
This page is part of thekeyutils (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 2025-08-11. (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 isnot part of the original manual page), send a mail to man-pages@man7.orgLinux 29 May 2019KEYCTL_MOVE(3)Pages that refer to this page:keyctl(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |