sys_capset [kernel/capability.c]


Sets capabilities for a process or a group of processes.

Arguments

eax 185
ebx Pointer to a cap_user_header_t structure that contains capability version and target pid data:
struc cap_user_header_t
{
version        rd 1
pid            rd 1
}
ecx Pointer to a cap_user_data_t structure that contains the effective, permitted, and inheritable capabilities:
struc cap_user_data_t
{
effective      rd 1
permitted      rd 1
inheritable    rd 1
}

Return values

If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:

-EINVAL One of the arguments was invalid.
-EPERM An attempt was made to add a capability to the Permitted set, or to set a capability in the Effective or Inheritable sets that is not in the Permitted set.

Remarks

Inheritable: any raised capabilities must be a subset of the (old current) permitted.
Permitted: any raised capabilities must be a subset of the (old current) permitted.
Effective: must be set to a subset of (new target) permitted.

Compatibility

n/a