getkeycreatecon(3) — Linux manual page
getkeycreatecon(3) SELinux API documentation getkeycreatecon(3)
NAME
getkeycreatecon, setkeycreatecon - get or set the SELinux
security context used for creating a new kernel keyrings
SYNOPSIS
#include <selinux/selinux.h>
int getkeycreatecon(char **con);
int getkeycreatecon_raw(char **con);
int setkeycreatecon(char *context);
int setkeycreatecon_raw(char *context);
DESCRIPTION
getkeycreatecon() retrieves the context used for creating a new
kernel keyring. This returned context should be freed with
freecon(3) if non-NULL. getkeycreatecon() sets *con to NULL if
no keycreate context has been explicitly set by the program (i.e.
using the default policy behavior).
setkeycreatecon() sets the context used for creating a new kernel
keyring. NULL can be passed to setkeycreatecon() to reset to the
default policy behavior. The keycreate context is automatically
reset after the next execve(2), so a program doesn't need to
explicitly sanitize it upon startup.
setkeycreatecon() can be applied prior to library functions that
internally perform an file creation, in order to set an file
context on the objects.
getkeycreatecon_raw() and setkeycreatecon_raw() behave
identically to their non-raw counterparts but do not perform
context translation.
Note: Signal handlers that perform a setkeycreatecon() must take
care to save, reset, and restore the keycreate context to avoid
unexpected behavior.
Note: Contexts are thread specific.
RETURN VALUE
On error -1 is returned. On success 0 is returned.
SEE ALSO
selinux(8), freecon(3), getcon(3), getexeccon(3)
COLOPHON
This page is part of the selinux (Security-Enhanced Linux user-
space libraries and tools) project. Information about the
project can be found at
⟨https://github.com/SELinuxProject/selinux/wiki⟩. If you have a
bug report for this manual page, see
⟨https://github.com/SELinuxProject/selinux/wiki/Contributing⟩.
This page was obtained from the project's upstream Git repository
⟨https://github.com/SELinuxProject/selinux⟩ on 2024-06-14. (At
that time, the date of the most recent commit that was found in
the repository was 2023-05-11.) 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