summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-08-03 19:31:51 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2016-08-03 19:31:51 +0200
commit8ecfb75216a71ba0e00e419ddafa52d12d965445 (patch)
treed0a5eae3b63156c71b3f5f3ba77648aa1322871a
parent9p: use clone_fid() (diff)
parentvfs: make dentry_needs_remove_privs() internal (diff)
downloadlinux-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.c7
-rw-r--r--fs/internal.h1
-rw-r--r--include/linux/fs.h5
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)