generic_permission — check for access rights on a Posix-like filesystem
int generic_permission ( | struct inode * inode, |
int mask) ; |
inode
inode to check access rights for
mask
right to check for (MAY_READ
, MAY_WRITE
, MAY_EXEC
, ...)
Used to check for read/write/execute permissions on a file. We use “fsuid” for this, letting us set arbitrary permissions for filesystem access without changing the “normal” uids which are used for other things.
generic_permission is rcu-walk aware. It returns -ECHILD in case an rcu-walk request cannot be satisfied (eg. requires blocking or too much complexity). It would then be called again in ref-walk mode.