summaryrefslogtreecommitdiff
path: root/security/apparmor/policy_unpack.c
diff options
context:
space:
mode:
authorJohn Johansen <john.johansen@canonical.com>2020-11-19 21:37:48 +0300
committerJohn Johansen <john.johansen@canonical.com>2022-10-04 00:49:03 +0300
commit53bdc46f4bdd20d477afb374767cabe627fd04ae (patch)
treeb251f2dc7ddc5fef5e65d6f0b6ba1b963af0283b /security/apparmor/policy_unpack.c
parente2967ede22978f132cd52929edff96c701bde0eb (diff)
downloadlinux-53bdc46f4bdd20d477afb374767cabe627fd04ae.tar.xz
apparmor: combine file_rules and aa_policydb into a single shared struct
file_rules and policydb are almost the same and will need the same features in the future so combine them. Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security/apparmor/policy_unpack.c')
-rw-r--r--security/apparmor/policy_unpack.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
index ed063385a83b..726fa02026b5 100644
--- a/security/apparmor/policy_unpack.c
+++ b/security/apparmor/policy_unpack.c
@@ -1048,18 +1048,19 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name)
info = "failed to unpack profile file rules";
goto fail;
} else if (profile->file.dfa) {
- if (!unpack_u32(e, &profile->file.start, "dfa_start"))
+ if (!unpack_u32(e, &profile->file.start[AA_CLASS_FILE],
+ "dfa_start"))
/* default start state */
- profile->file.start = DFA_START;
+ profile->file.start[AA_CLASS_FILE] = DFA_START;
} else if (profile->policy.dfa &&
profile->policy.start[AA_CLASS_FILE]) {
profile->file.dfa = aa_get_dfa(profile->policy.dfa);
- profile->file.start = profile->policy.start[AA_CLASS_FILE];
+ profile->file.start[AA_CLASS_FILE] = profile->policy.start[AA_CLASS_FILE];
} else
profile->file.dfa = aa_get_dfa(nulldfa);
- profile->file.fperms_table = compute_fperms(profile->file.dfa);
- if (!profile->file.fperms_table) {
+ profile->file.perms = compute_fperms(profile->file.dfa);
+ if (!profile->file.perms) {
info = "failed to remap file permission table";
goto fail;
}