diff options
| author | Zygmunt Krynicki <me@zygoon.pl> | 2026-05-02 13:21:33 +0200 |
|---|---|---|
| committer | John Johansen <john.johansen@canonical.com> | 2026-06-13 20:14:06 -0700 |
| commit | 654fe7505dc6889724d4094fa64f89991afabfc3 (patch) | |
| tree | 55d86a4dc5ef1e9f315ca34791362499a844470a | |
| parent | a58cafd38b46fb1a2220e2fbbcfe291ea75fa147 (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.c | 2 |
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; } |
