Loading fs/namespace.c +2 −2 Original line number Diff line number Diff line Loading @@ -1253,11 +1253,11 @@ struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry, return NULL; } struct vfsmount *collect_mounts(struct vfsmount *mnt, struct dentry *dentry) struct vfsmount *collect_mounts(struct path *path) { struct vfsmount *tree; down_write(&namespace_sem); tree = copy_tree(mnt, dentry, CL_COPY_ALL | CL_PRIVATE); tree = copy_tree(path->mnt, path->dentry, CL_COPY_ALL | CL_PRIVATE); up_write(&namespace_sem); return tree; } Loading include/linux/fs.h +1 −1 Original line number Diff line number Diff line Loading @@ -1800,7 +1800,7 @@ extern struct vfsmount *kern_mount_data(struct file_system_type *, void *data); extern int may_umount_tree(struct vfsmount *); extern int may_umount(struct vfsmount *); extern long do_mount(char *, char *, char *, unsigned long, void *); extern struct vfsmount *collect_mounts(struct vfsmount *, struct dentry *); extern struct vfsmount *collect_mounts(struct path *); extern void drop_collected_mounts(struct vfsmount *); extern int vfs_statfs(struct dentry *, struct kstatfs *); Loading kernel/audit_tree.c +3 −3 Original line number Diff line number Diff line Loading @@ -568,7 +568,7 @@ void audit_trim_trees(void) if (err) goto skip_it; root_mnt = collect_mounts(path.mnt, path.dentry); root_mnt = collect_mounts(&path); path_put(&path); if (!root_mnt) goto skip_it; Loading Loading @@ -660,7 +660,7 @@ int audit_add_tree_rule(struct audit_krule *rule) err = kern_path(tree->pathname, 0, &path); if (err) goto Err; mnt = collect_mounts(path.mnt, path.dentry); mnt = collect_mounts(&path); path_put(&path); if (!mnt) { err = -ENOMEM; Loading Loading @@ -720,7 +720,7 @@ int audit_tag_tree(char *old, char *new) err = kern_path(new, 0, &path); if (err) return err; tagged = collect_mounts(path.mnt, path.dentry); tagged = collect_mounts(&path); path_put(&path); if (!tagged) return -ENOMEM; Loading Loading
fs/namespace.c +2 −2 Original line number Diff line number Diff line Loading @@ -1253,11 +1253,11 @@ struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry, return NULL; } struct vfsmount *collect_mounts(struct vfsmount *mnt, struct dentry *dentry) struct vfsmount *collect_mounts(struct path *path) { struct vfsmount *tree; down_write(&namespace_sem); tree = copy_tree(mnt, dentry, CL_COPY_ALL | CL_PRIVATE); tree = copy_tree(path->mnt, path->dentry, CL_COPY_ALL | CL_PRIVATE); up_write(&namespace_sem); return tree; } Loading
include/linux/fs.h +1 −1 Original line number Diff line number Diff line Loading @@ -1800,7 +1800,7 @@ extern struct vfsmount *kern_mount_data(struct file_system_type *, void *data); extern int may_umount_tree(struct vfsmount *); extern int may_umount(struct vfsmount *); extern long do_mount(char *, char *, char *, unsigned long, void *); extern struct vfsmount *collect_mounts(struct vfsmount *, struct dentry *); extern struct vfsmount *collect_mounts(struct path *); extern void drop_collected_mounts(struct vfsmount *); extern int vfs_statfs(struct dentry *, struct kstatfs *); Loading
kernel/audit_tree.c +3 −3 Original line number Diff line number Diff line Loading @@ -568,7 +568,7 @@ void audit_trim_trees(void) if (err) goto skip_it; root_mnt = collect_mounts(path.mnt, path.dentry); root_mnt = collect_mounts(&path); path_put(&path); if (!root_mnt) goto skip_it; Loading Loading @@ -660,7 +660,7 @@ int audit_add_tree_rule(struct audit_krule *rule) err = kern_path(tree->pathname, 0, &path); if (err) goto Err; mnt = collect_mounts(path.mnt, path.dentry); mnt = collect_mounts(&path); path_put(&path); if (!mnt) { err = -ENOMEM; Loading Loading @@ -720,7 +720,7 @@ int audit_tag_tree(char *old, char *new) err = kern_path(new, 0, &path); if (err) return err; tagged = collect_mounts(path.mnt, path.dentry); tagged = collect_mounts(&path); path_put(&path); if (!tagged) return -ENOMEM; Loading