diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-08-03 19:31:51 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-08-03 19:31:51 +0200 |
commit | 8ecfb75216a71ba0e00e419ddafa52d12d965445 (patch) | |
tree | d0a5eae3b63156c71b3f5f3ba77648aa1322871a | |
parent | 9p: use clone_fid() (diff) | |
parent | vfs: make dentry_needs_remove_privs() internal (diff) | |
download | linux-8ecfb75216a71ba0e00e419ddafa52d12d965445.tar.xz linux-8ecfb75216a71ba0e00e419ddafa52d12d965445.zip |
Merge branch 'for-viro' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into for-linus
-rw-r--r-- | fs/inode.c | 7 | ||||
-rw-r--r-- | fs/internal.h | 1 | ||||
-rw-r--r-- | include/linux/fs.h | 5 |
3 files changed, 4 insertions, 9 deletions
diff --git a/fs/inode.c b/fs/inode.c index e171f7b5f9e4..997f537cf3cc 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -1722,7 +1722,6 @@ int dentry_needs_remove_privs(struct dentry *dentry) mask |= ATTR_KILL_PRIV; return mask; } -EXPORT_SYMBOL(dentry_needs_remove_privs); static int __remove_privs(struct dentry *dentry, int kill) { @@ -1742,8 +1741,8 @@ static int __remove_privs(struct dentry *dentry, int kill) */ int file_remove_privs(struct file *file) { - struct dentry *dentry = file->f_path.dentry; - struct inode *inode = d_inode(dentry); + struct dentry *dentry = file_dentry(file); + struct inode *inode = file_inode(file); int kill; int error = 0; @@ -1751,7 +1750,7 @@ int file_remove_privs(struct file *file) if (IS_NOSEC(inode)) return 0; - kill = file_needs_remove_privs(file); + kill = dentry_needs_remove_privs(dentry); if (kill < 0) return kill; if (kill) diff --git a/fs/internal.h b/fs/internal.h index cef0913e5d41..cc5a530e4f06 100644 --- a/fs/internal.h +++ b/fs/internal.h @@ -117,6 +117,7 @@ extern int vfs_open(const struct path *, struct file *, const struct cred *); */ extern long prune_icache_sb(struct super_block *sb, struct shrink_control *sc); extern void inode_add_lru(struct inode *inode); +extern int dentry_needs_remove_privs(struct dentry *dentry); /* * fs-writeback.c diff --git a/include/linux/fs.h b/include/linux/fs.h index f65a6801f609..3f8167a49675 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2725,11 +2725,6 @@ extern struct inode *new_inode(struct super_block *sb); extern void free_inode_nonrcu(struct inode *inode); extern int should_remove_suid(struct dentry *); extern int file_remove_privs(struct file *); -extern int dentry_needs_remove_privs(struct dentry *dentry); -static inline int file_needs_remove_privs(struct file *file) -{ - return dentry_needs_remove_privs(file->f_path.dentry); -} extern void __insert_inode_hash(struct inode *, unsigned long hashval); static inline void insert_inode_hash(struct inode *inode) |