[PATCH 1/8] apparmor: just use vfs_kern_mount to make .null
Luis Chamberlain
mcgrof at kernel.org
Thu Apr 16 06:44:05 UTC 2020
On Tue, Apr 14, 2020 at 02:42:55PM +0200, Emanuele Giuseppe Esposito wrote:
> aa_mk_null_file is using simple_pin_fs/simple_release_fs with local
> variables as arguments, for what would amount to a simple
> vfs_kern_mount/mntput pair if everything was inlined. Just use
> the normal filesystem API since the reference counting is not needed
> here.
*Why* is refcounting not needed here?
Luis
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit at redhat.com>
> ---
> security/apparmor/apparmorfs.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
> index 280741fc0f5f..828bb1eb77ea 100644
> --- a/security/apparmor/apparmorfs.c
> +++ b/security/apparmor/apparmorfs.c
> @@ -2525,14 +2525,14 @@ struct path aa_null;
>
> static int aa_mk_null_file(struct dentry *parent)
> {
> - struct vfsmount *mount = NULL;
> + struct file_system_type *type = parent->d_sb->s_type;
> + struct vfsmount *mount;
> struct dentry *dentry;
> struct inode *inode;
> - int count = 0;
> - int error = simple_pin_fs(parent->d_sb->s_type, &mount, &count);
>
> - if (error)
> - return error;
> + mount = vfs_kern_mount(type, SB_KERNMOUNT, type->name, NULL);
> + if (IS_ERR(mount))
> + return PTR_ERR(mount);
>
> inode_lock(d_inode(parent));
> dentry = lookup_one_len(NULL_FILE_NAME, parent, strlen(NULL_FILE_NAME));
> @@ -2561,7 +2561,7 @@ static int aa_mk_null_file(struct dentry *parent)
> dput(dentry);
> out:
> inode_unlock(d_inode(parent));
> - simple_release_fs(&mount, &count);
> + mntput(mount);
> return error;
> }
>
> --
> 2.25.2
>
More information about the dri-devel
mailing list