]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - security/apparmor/apparmorfs.c
UBUNTU: SAUCE: apparmor: fix leak on securityfs pin count
[mirror_ubuntu-zesty-kernel.git] / security / apparmor / apparmorfs.c
index ee0f998c9e3ff4636f8db5f1f2bedda8c7405ec6..2ded4188773127ec6a044ba9cf5e88f82c1f068a 100644 (file)
@@ -1057,7 +1057,7 @@ static int ns_mkdir_op(struct inode *dir, struct dentry *dentry, umode_t mode)
        error = __securityfs_setup_d_inode(dir, dentry, mode | S_IFDIR,  NULL,
                                           NULL, NULL);
        if (error)
-               goto out;
+               goto out_pin;
 
        ns = aa_create_ns(parent, ACCESS_ONCE(dentry->d_name.name), dentry);
        if (IS_ERR(ns)) {
@@ -1066,6 +1066,8 @@ static int ns_mkdir_op(struct inode *dir, struct dentry *dentry, umode_t mode)
        }
 
        aa_put_ns(ns);          /* list ref remains */
+out_pin:
+       securityfs_release_fs();
 out:
        aa_put_ns(parent);