• Miklos Szeredi's avatar
    [PATCH] move executable checking into ->permission() · f696a365
    Miklos Szeredi authored
    For execute permission on a regular files we need to check if file has
    any execute bits at all, regardless of capabilites.
    This check is normally performed by generic_permission() but was also
    added to the case when the filesystem defines its own ->permission()
    method.  In the latter case the filesystem should be responsible for
    performing this check.
    Move the check from inode_permission() inside filesystems which are
    not calling generic_permission().
    Create a helper function execute_ok() that returns true if the inode
    is a directory or if any execute bits are present in i_mode.
    Also fix up the following code:
     - coda control file is never executable
     - sysctl files are never executable
     - hfs_permission seems broken on MAY_EXEC, remove
     - hfsplus_permission is eqivalent to generic_permission(), remove
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
namei.c 69.2 KB