NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO
#include <tsol/label.h>int setcmwplabel(bclabel_t *label_p, setting_flag_t flag);
setcmwplabel() sets the sensitivity label or the CMW label for the process making the call. The flag argument identifies which label to set:
Set the entire CMW label of the process.
Set only the sensitivity label.
setcmwplabel() verifies that the CMW label to which label_p points is formatted correctly and that the resulting label would satisfy the requirement that the clearance must dominate the sensitivity label of the process.
When flag limits the setting to a single portion of the CMW label, setcmwplabel() ignores the other value in label_p. If the specified value for sensitivity label does not match current value of the
process, the set of effective privileges of the calling process must include PRIV_PROC_SETSL
.
setcmwplabel() fails and does not set the process CMW label if any of these conditions is true:
The process is being accessed through the /proc filesystem, which can happen when the process is either being traced or debugged, and the caller of setcmwplabel() lacks the PRIV_PROC_TRANQUIL
privilege.
The label_p argument points to an invalid address.
The label_p argument points to an invalid address.
The label_p argument points to an improperly formatted label.
The label_p argument and the flag argument would cause the process sensitivity label not to be dominated by the clearance.
The calling process lacks the PRIV_PROC_SETSL
privilege necessary to set the sensitivity label specified by flag.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO