summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZygmunt Krynicki <me@zygoon.pl>2026-05-02 13:21:33 +0200
committerJohn Johansen <john.johansen@canonical.com>2026-06-13 20:14:06 -0700
commit654fe7505dc6889724d4094fa64f89991afabfc3 (patch)
tree55d86a4dc5ef1e9f315ca34791362499a844470a
parenta58cafd38b46fb1a2220e2fbbcfe291ea75fa147 (diff)
apparmor: aa_label_alloc use aa_label_free on alloc failure
aa_label_alloc() allocates a secid before allocating or taking the label proxy. If the later proxy step fails, the error path only freed the label memory, leaking any resources initialized by aa_label_init(). Use aa_label_free() on the failure path so partially initialized labels release their secid and other label resources before the backing memory is freed. Fixes: f1bd904175e81 ("apparmor: add the base fns() for domain labels") Signed-off-by: Zygmunt Krynicki <me@zygoon.pl> Signed-off-by: John Johansen <john.johansen@canonical.com>
-rw-r--r--security/apparmor/label.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/apparmor/label.c b/security/apparmor/label.c
index a8850d118c9c..c60244ed96db 100644
--- a/security/apparmor/label.c
+++ b/security/apparmor/label.c
@@ -458,7 +458,7 @@ struct aa_label *aa_label_alloc(int size, struct aa_proxy *proxy, gfp_t gfp)
return new;
fail:
- kfree(new);
+ aa_label_free(new);
return NULL;
}