diff options
author | John Johansen <john.johansen@canonical.com> | 2017-01-16 09:42:42 +0100 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2017-01-16 10:18:34 +0100 |
commit | 11c236b89d7c26d58c55d5613a858600a4d2ab3a (patch) | |
tree | 591f879c7a4491b17a03391343fc3c0a98bb7165 /security/apparmor/policy.c | |
parent | apparmor: allow policydb to be used as the file dfa (diff) | |
download | linux-11c236b89d7c26d58c55d5613a858600a4d2ab3a.tar.xz linux-11c236b89d7c26d58c55d5613a858600a4d2ab3a.zip |
apparmor: add a default null dfa
Instead of testing whether a given dfa exists in every code path, have
a default null dfa that is used when loaded policy doesn't provide a
dfa.
This will let us get rid of special casing and avoid dereference bugs
when special casing is missed.
Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security/apparmor/policy.c')
-rw-r--r-- | security/apparmor/policy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c index dd63ac92d28f..046edecc4c8a 100644 --- a/security/apparmor/policy.c +++ b/security/apparmor/policy.c @@ -348,6 +348,8 @@ name: /* released on free_profile */ rcu_assign_pointer(profile->parent, aa_get_profile(parent)); profile->ns = aa_get_ns(parent->ns); + profile->file.dfa = aa_get_dfa(nulldfa); + profile->policy.dfa = aa_get_dfa(nulldfa); mutex_lock(&profile->ns->lock); __list_add_profile(&parent->base.profiles, profile); |