Commit 06393b1b authored by John Johansen's avatar John Johansen Committed by Thadeu Lima de Souza Cascardo

UBUNTU: SAUCE: apparmor: fix reference count leak when securityfs_setup_d_inode() fails

BugLink: http://bugs.launchpad.net/bugs/1660845Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
Acked-by: default avatarStefan Bader <stefan.bader@canonical.com>
Acked-by: default avatarTim Gardner <tim.gardner@canonical.com>
Acked-by: default avatarBrad Figg <brad.figg@canonical.com>
Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@canonical.com>
parent 40f7a7e0
......@@ -1052,12 +1052,12 @@ static int ns_mkdir_op(struct inode *dir, struct dentry *dentry, umode_t mode)
error = securityfs_pin_fs();
inode_lock_nested(dir, I_MUTEX_PARENT);
if (error)
return error;
goto out;
error = __securityfs_setup_d_inode(dir, dentry, mode | S_IFDIR, NULL,
NULL, NULL);
if (error)
return error;
goto out;
ns = aa_create_ns(parent, ACCESS_ONCE(dentry->d_name.name), dentry);
if (IS_ERR(ns)) {
......@@ -1066,6 +1066,7 @@ static int ns_mkdir_op(struct inode *dir, struct dentry *dentry, umode_t mode)
}
aa_put_ns(ns); /* list ref remains */
out:
aa_put_ns(parent);
return error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment