Loading fs/ecryptfs/kthread.c +11 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <linux/slab.h> #include <linux/wait.h> #include <linux/mount.h> #include <linux/file.h> #include "ecryptfs_kernel.h" struct ecryptfs_open_req { Loading Loading @@ -147,7 +148,7 @@ int ecryptfs_privileged_open(struct file **lower_file, flags |= IS_RDONLY(lower_dentry->d_inode) ? O_RDONLY : O_RDWR; (*lower_file) = dentry_open(&req.path, flags, cred); if (!IS_ERR(*lower_file)) goto out; goto have_file; if ((flags & O_ACCMODE) == O_RDONLY) { rc = PTR_ERR((*lower_file)); goto out; Loading @@ -165,8 +166,16 @@ int ecryptfs_privileged_open(struct file **lower_file, mutex_unlock(&ecryptfs_kthread_ctl.mux); wake_up(&ecryptfs_kthread_ctl.wait); wait_for_completion(&req.done); if (IS_ERR(*lower_file)) if (IS_ERR(*lower_file)) { rc = PTR_ERR(*lower_file); goto out; } have_file: if ((*lower_file)->f_op->mmap == NULL) { fput(*lower_file); *lower_file = NULL; rc = -EMEDIUMTYPE; } out: return rc; } fs/proc/root.c +7 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,13 @@ static struct dentry *proc_mount(struct file_system_type *fs_type, if (IS_ERR(sb)) return ERR_CAST(sb); /* * procfs isn't actually a stacking filesystem; however, there is * too much magic going on inside it to permit stacking things on * top of it */ sb->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH; if (!proc_parse_options(options, ns)) { deactivate_locked_super(sb); return ERR_PTR(-EINVAL); Loading Loading
fs/ecryptfs/kthread.c +11 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <linux/slab.h> #include <linux/wait.h> #include <linux/mount.h> #include <linux/file.h> #include "ecryptfs_kernel.h" struct ecryptfs_open_req { Loading Loading @@ -147,7 +148,7 @@ int ecryptfs_privileged_open(struct file **lower_file, flags |= IS_RDONLY(lower_dentry->d_inode) ? O_RDONLY : O_RDWR; (*lower_file) = dentry_open(&req.path, flags, cred); if (!IS_ERR(*lower_file)) goto out; goto have_file; if ((flags & O_ACCMODE) == O_RDONLY) { rc = PTR_ERR((*lower_file)); goto out; Loading @@ -165,8 +166,16 @@ int ecryptfs_privileged_open(struct file **lower_file, mutex_unlock(&ecryptfs_kthread_ctl.mux); wake_up(&ecryptfs_kthread_ctl.wait); wait_for_completion(&req.done); if (IS_ERR(*lower_file)) if (IS_ERR(*lower_file)) { rc = PTR_ERR(*lower_file); goto out; } have_file: if ((*lower_file)->f_op->mmap == NULL) { fput(*lower_file); *lower_file = NULL; rc = -EMEDIUMTYPE; } out: return rc; }
fs/proc/root.c +7 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,13 @@ static struct dentry *proc_mount(struct file_system_type *fs_type, if (IS_ERR(sb)) return ERR_CAST(sb); /* * procfs isn't actually a stacking filesystem; however, there is * too much magic going on inside it to permit stacking things on * top of it */ sb->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH; if (!proc_parse_options(options, ns)) { deactivate_locked_super(sb); return ERR_PTR(-EINVAL); Loading