aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/security/apparmor/policy_unpack.c
diff options
context:
space:
mode:
authorMike Salvatore <mike.salvatore@canonical.com>2020-03-30 16:43:29 -0400
committerJohn Johansen <john.johansen@canonical.com>2022-10-03 14:49:02 -0700
commit408d53e923bd852d5d80243a642004163db53a87 (patch)
tree9c3b52675bc86ff7dde78510078f199443642144 /security/apparmor/policy_unpack.c
parentapparmor: expose compression level limits in sysfs (diff)
downloadwireguard-linux-408d53e923bd852d5d80243a642004163db53a87.tar.xz
wireguard-linux-408d53e923bd852d5d80243a642004163db53a87.zip
apparmor: compute file permissions on profile load
Rather than computing file permissions for each file access, file permissions can be computed once on profile load and stored for lookup. Signed-off-by: Mike Salvatore <mike.salvatore@canonical.com> Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to '')
-rw-r--r--security/apparmor/policy_unpack.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
index 10e462d00321..54175bca4256 100644
--- a/security/apparmor/policy_unpack.c
+++ b/security/apparmor/policy_unpack.c
@@ -22,6 +22,7 @@
#include "include/audit.h"
#include "include/cred.h"
#include "include/crypto.h"
+#include "include/file.h"
#include "include/match.h"
#include "include/path.h"
#include "include/policy.h"
@@ -878,6 +879,8 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name)
} else
profile->file.dfa = aa_get_dfa(nulldfa);
+ aa_compute_fperms(&(profile->file));
+
if (!unpack_trans_table(e, profile)) {
info = "failed to unpack profile transition table";
goto fail;