vfs: export __inode_permission() to modules

We need to be able to check inode permissions (but not filesystem implied
permissions) for stackable filesystems.  Expose this interface for overlayfs.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
Miklos Szeredi 2014-10-24 00:14:35 +02:00
parent 1c118596a7
commit bd5d08569c
3 changed files with 2 additions and 1 deletions

View File

@ -47,7 +47,6 @@ extern void __init chrdev_init(void);
/* /*
* namei.c * namei.c
*/ */
extern int __inode_permission(struct inode *, int);
extern int user_path_mountpoint_at(int, const char __user *, unsigned int, struct path *); extern int user_path_mountpoint_at(int, const char __user *, unsigned int, struct path *);
extern int vfs_path_lookup(struct dentry *, struct vfsmount *, extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
const char *, unsigned int, struct path *); const char *, unsigned int, struct path *);

View File

@ -416,6 +416,7 @@ int __inode_permission(struct inode *inode, int mask)
return security_inode_permission(inode, mask); return security_inode_permission(inode, mask);
} }
EXPORT_SYMBOL(__inode_permission);
/** /**
* sb_permission - Check superblock-level permissions * sb_permission - Check superblock-level permissions

View File

@ -2257,6 +2257,7 @@ extern sector_t bmap(struct inode *, sector_t);
#endif #endif
extern int notify_change(struct dentry *, struct iattr *, struct inode **); extern int notify_change(struct dentry *, struct iattr *, struct inode **);
extern int inode_permission(struct inode *, int); extern int inode_permission(struct inode *, int);
extern int __inode_permission(struct inode *, int);
extern int generic_permission(struct inode *, int); extern int generic_permission(struct inode *, int);
static inline bool execute_ok(struct inode *inode) static inline bool execute_ok(struct inode *inode)