RSBAC returns specific error codes on internal functions as well as RSBAC system calls. The following errors are defined:
EPERM | Same as Linux EPERM: Permission denied. |
EACCESS | RSBAC dir access failed internally |
EREADFAILED | Reading from disk or from data structures failed abnormally |
EWRITEFAILED | Writing to disk or data structures failed abnormally |
EINVALIDPOINTER | Pointer argument was invalid (e.g. NULL). |
ENOROOTDIR | Filesystem claims to have no root dir |
EPATHTOOLONG | A path argument was too long for buffer |
ENOROOTDEV | Root device does not exist / is not accessible |
ENOTFOUND | A file or an ACI item was not found |
ENOTINITIALIZED | RSBAC call before initialization or after final cleanup |
EREINIT | RSBAC has already been initialized |
ECOULDNOTADDDEVICE | An internal device structure could not be added, possibly out of kernel memory |
ECOULDNOTADDITEM | A data structures list item or a proc pseudo file could not be added, possibly out of memory |
ECOULDNOTCREATEPATH | The /rsbac dir on a filesystem could not be created |
EINVALIDATTR | Invalid attribute number |
EINVALIDDEV | Invalid device |
EINVALIDTARGET | Invalid target type |
EINVALIDVALUE | Other invalid value, e.g. attribute value out of range |
EEXISTS | Item already exists |
EINTERNONLY | A value must only be used internally, e.g. sec_level rsbac_internal |
EINVALIDREQUEST | Invalid request number |
ENOTWRITABLE | A filesystem is read-only, attributes were not written to it |
EMALWAREDETECTED | (No longer used, because incompatible with Unix standards / programs). A socket read request has been denied because of malware detection |
ENOMEM | Out of memory (GFP_KERNEL) |
EDECISIONMISMATCH | rsbac_adf_set_attr called for a request that rsbac_adf_request should not have granted, probably some attribute changes in the meantime |
EINVALIDVERSION | A REG registration was tried for another REG interface version |
EINVALIDMODULE | Trial to access attribute of unknown or not included decision module |
18-Mar-02, -ao