summaryrefslogtreecommitdiffstats
path: root/fs/open.c
diff options
context:
space:
mode:
authorAl Viro2018-07-10 19:22:28 +0200
committerAl Viro2018-07-12 16:04:14 +0200
commitae2bb293a3e8adbc54d08cede5afc22929030c03 (patch)
treeba746f159ca0b7fe2fb5d517d5ee9850f36deda4 /fs/open.c
parentpass ->f_flags value to alloc_empty_file() (diff)
downloadkernel-qcow2-linux-ae2bb293a3e8adbc54d08cede5afc22929030c03.tar.gz
kernel-qcow2-linux-ae2bb293a3e8adbc54d08cede5afc22929030c03.tar.xz
kernel-qcow2-linux-ae2bb293a3e8adbc54d08cede5afc22929030c03.zip
get rid of cred argument of vfs_open() and do_dentry_open()
always equal to ->f_cred Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/open.c')
-rw-r--r--fs/open.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/fs/open.c b/fs/open.c
index 15d2c3ab91ff..0a9f00b7f3d5 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -736,8 +736,7 @@ int open_check_o_direct(struct file *f)
static int do_dentry_open(struct file *f,
struct inode *inode,
- int (*open)(struct inode *, struct file *),
- const struct cred *cred)
+ int (*open)(struct inode *, struct file *))
{
static const struct file_operations empty_fops = {};
int error;
@@ -777,7 +776,7 @@ static int do_dentry_open(struct file *f,
goto cleanup_all;
}
- error = security_file_open(f, cred);
+ error = security_file_open(f, f->f_cred);
if (error)
goto cleanup_all;
@@ -855,8 +854,7 @@ int finish_open(struct file *file, struct dentry *dentry,
BUG_ON(*opened & FILE_OPENED); /* once it's opened, it's opened */
file->f_path.dentry = dentry;
- error = do_dentry_open(file, d_backing_inode(dentry), open,
- current_cred());
+ error = do_dentry_open(file, d_backing_inode(dentry), open);
if (!error)
*opened |= FILE_OPENED;
@@ -897,8 +895,7 @@ EXPORT_SYMBOL(file_path);
* @file: newly allocated file with f_flag initialized
* @cred: credentials to use
*/
-int vfs_open(const struct path *path, struct file *file,
- const struct cred *cred)
+int vfs_open(const struct path *path, struct file *file)
{
struct dentry *dentry = d_real(path->dentry, NULL, file->f_flags, 0);
@@ -906,7 +903,7 @@ int vfs_open(const struct path *path, struct file *file,
return PTR_ERR(dentry);
file->f_path = *path;
- return do_dentry_open(file, d_backing_inode(dentry), NULL, cred);
+ return do_dentry_open(file, d_backing_inode(dentry), NULL);
}
struct file *dentry_open(const struct path *path, int flags,
@@ -922,7 +919,7 @@ struct file *dentry_open(const struct path *path, int flags,
f = alloc_empty_file(flags, cred);
if (!IS_ERR(f)) {
- error = vfs_open(path, f, cred);
+ error = vfs_open(path, f);
if (!error) {
/* from now on we need fput() to dispose of f */
error = open_check_o_direct(f);