avc_context_to_sid(3) obtain and manipulate SELinux security ID's

Other Alias

avc_sid_to_context, avc_get_initial_sid


#include <selinux/selinux.h>
#include <selinux/avc.h>

int avc_context_to_sid(char * ctx, security_id_t *sid);

int avc_sid_to_context(security_id_t sid, char **ctx);

int avc_get_initial_sid(const char *name, security_id_t *sid);


Security ID's (SID's) are opaque representations of security contexts, managed by the userspace AVC.

avc_context_to_sid() returns a SID for the given context in the memory referenced by sid.

avc_sid_to_context() returns a copy of the context represented by sid in the memory referenced by ctx. The user must free the copy with freecon(3).

avc_get_initial_sid() returns a SID for the kernel initial security identifier specified by name.


avc_context_to_sid() and avc_sid_to_context() return zero on success. On error, -1 is returned and errno is set appropriately.


An attempt to allocate memory failed.


As of libselinux version 2.0.86, SID's are no longer reference counted. A SID will be valid from the time it is first obtained until the next call to avc_destroy(3). The sidget(3) and sidput(3) functions, formerly used to adjust the reference count, are no-ops and are deprecated.


Eamon Walsh <[email protected]>