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: Miklos Szeredi <mszeredi@suse.cz> |
||
|---|---|---|
| .. | ||
| cache.c | ||
| cnode.c | ||
| coda_int.h | ||
| coda_linux.c | ||
| dir.c | ||
| file.c | ||
| inode.c | ||
| Makefile | ||
| pioctl.c | ||
| psdev.c | ||
| symlink.c | ||
| sysctl.c | ||
| upcall.c | ||