apparmor: cleanup create_aafs() error path

Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
John Johansen 2018-02-05 09:58:29 +01:00
parent d901d6a298
commit cf91600071
1 changed files with 12 additions and 20 deletions

View File

@ -2458,34 +2458,26 @@ static int __init aa_create_aafs(void)
dent = securityfs_create_file(".load", 0666, aa_sfs_entry.dentry, dent = securityfs_create_file(".load", 0666, aa_sfs_entry.dentry,
NULL, &aa_fs_profile_load); NULL, &aa_fs_profile_load);
if (IS_ERR(dent)) { if (IS_ERR(dent))
error = PTR_ERR(dent); goto dent_error;
goto error;
}
ns_subload(root_ns) = dent; ns_subload(root_ns) = dent;
dent = securityfs_create_file(".replace", 0666, aa_sfs_entry.dentry, dent = securityfs_create_file(".replace", 0666, aa_sfs_entry.dentry,
NULL, &aa_fs_profile_replace); NULL, &aa_fs_profile_replace);
if (IS_ERR(dent)) { if (IS_ERR(dent))
error = PTR_ERR(dent); goto dent_error;
goto error;
}
ns_subreplace(root_ns) = dent; ns_subreplace(root_ns) = dent;
dent = securityfs_create_file(".remove", 0666, aa_sfs_entry.dentry, dent = securityfs_create_file(".remove", 0666, aa_sfs_entry.dentry,
NULL, &aa_fs_profile_remove); NULL, &aa_fs_profile_remove);
if (IS_ERR(dent)) { if (IS_ERR(dent))
error = PTR_ERR(dent); goto dent_error;
goto error;
}
ns_subremove(root_ns) = dent; ns_subremove(root_ns) = dent;
dent = securityfs_create_file("revision", 0444, aa_sfs_entry.dentry, dent = securityfs_create_file("revision", 0444, aa_sfs_entry.dentry,
NULL, &aa_fs_ns_revision_fops); NULL, &aa_fs_ns_revision_fops);
if (IS_ERR(dent)) { if (IS_ERR(dent))
error = PTR_ERR(dent); goto dent_error;
goto error;
}
ns_subrevision(root_ns) = dent; ns_subrevision(root_ns) = dent;
/* policy tree referenced by magic policy symlink */ /* policy tree referenced by magic policy symlink */
@ -2499,10 +2491,8 @@ static int __init aa_create_aafs(void)
/* magic symlink similar to nsfs redirects based on task policy */ /* magic symlink similar to nsfs redirects based on task policy */
dent = securityfs_create_symlink("policy", aa_sfs_entry.dentry, dent = securityfs_create_symlink("policy", aa_sfs_entry.dentry,
NULL, &policy_link_iops); NULL, &policy_link_iops);
if (IS_ERR(dent)) { if (IS_ERR(dent))
error = PTR_ERR(dent); goto dent_error;
goto error;
}
error = aa_mk_null_file(aa_sfs_entry.dentry); error = aa_mk_null_file(aa_sfs_entry.dentry);
if (error) if (error)
@ -2514,6 +2504,8 @@ static int __init aa_create_aafs(void)
aa_info_message("AppArmor Filesystem Enabled"); aa_info_message("AppArmor Filesystem Enabled");
return 0; return 0;
dent_error:
error = PTR_ERR(dent);
error: error:
aa_destroy_aafs(); aa_destroy_aafs();
AA_ERROR("Error creating AppArmor securityfs\n"); AA_ERROR("Error creating AppArmor securityfs\n");