Next: Hash table
Previous: exec system call
An overload request is the execution of lidsadm with the -O parameter.
For example :
lidsadm -O -t 1 --caps ULL_SET -CAP_SYS_ADMIN -LIDS_UMOUNT --mask =EMPTY_SET
lidsadm -O -p 123 45 385 -t 2 --caps =SET_ALL_CAPS -CAP_SYS_ADMIN +LIDS_UMOUNT
lidsadm -O -t 2 --caps +LIDS_UMOUNT
lidsadm -O -p 45 -t 2 -r
lidsadm -O -t 2 -r
lidsadm -O -r
When the admin is requesting an overload, for each process concerned with this request :
- If the process does not have any overload tags16.2 or have some but none with the specified tag :
- a lids_caps_s is allocated
- the tag field is set to the given value, or the smallest that is greater than the existant ones if none is provided
- the caps/masks sets are filled with the provided values
- the structure is inserted in the chained list, the tag field value decreasing.
- If a tag was provided and the process has a corresponding overload tag, the following operations are done on this overload tag. If no tags were provided, the following operations are done on each overload.
- applying the provided update mask (caps &= update_mask) to the caps/masks
- applying the provided updated caps (caps |= updated_caps) to the caps/masks