Error Codes

RSBAC returns specific error codes on internal functions as well as RSBAC system calls. The following errors are defined:

Code Reason
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
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.dat 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
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 kernel memory
EDECISIONMISMATCH rsbac_adf_set_attr called for a request that rsbac_adf_request should not have granted, probably some attribute changes in the meantime or running in softmode
EINVALIDVERSION A REG registration or syscall was tried for another REG interface or RSBAC version
EINVALIDMODULE Trial to access attribute of unknown or not included decision module
EEXPIRED The provided password has expired
EMUSTCHANGE The password must be changed
EBUSY An affected list is in use by another transaction
EINVALIDTRANSACTION The transaction number does not exist
EWEAKPASSWORD The new password is too weak, e.g. too short
EINVALIDLIST The list handle given is invalid, probably some registration or disk read error
EFROMINTERRUPT An RSBAC function has been called from interrupt context



Table of Contents: RSBAC Handbook