The unlocked_security_context_to_sid function panics if it
is called before the security server has initialized, unless the
context is simply the name of an initial SID. In this case, this
function returns the corresponding initial SID. This is not
necessary, but it is provided to parallel the
unlocked_security_sid_to_context function.

If the security server has initialized, then this function creates
a copy of the security context string that it can modify as it
parses the string. It then looks up the user name, role name,
and type name from the string and sets the values in a
security context structure for these fields. This function calls
mls.c:mls_context_to_sid to set the MLS fields
in the security context structure based on the remainder of the string. Then,
it calls policydb_context_isvalid to verify that
the context is valid. If the context is valid, the function calls the
sidtab_context_to_sid function to obtain a SID that
corresponds to the context and returns. Otherwise, it returns an
error.