summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorJohn Johansen <john.johansen@canonical.com>2023-12-29 15:54:41 +0100
committerJohn Johansen <john.johansen@canonical.com>2023-12-29 15:54:41 +0100
commit2cb54a19ac7153b9a26a72098c495187f64c2276 (patch)
treeb8cbcb4e60432f4a91d408bcdf1725b3e567b303 /security
parentapparmor: cleanup network hook comments (diff)
downloadlinux-2cb54a19ac7153b9a26a72098c495187f64c2276.tar.xz
linux-2cb54a19ac7153b9a26a72098c495187f64c2276.zip
apparmor: Fix ref count leak in task_kill
apparmor_task_kill was not putting the task_cred reference tc, or the cred_label reference tc when dealing with a passed in cred, fix this by using a single fn exit. Fixes: 90c436a64a6e ("apparmor: pass cred through to audit info.") Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security')
-rw-r--r--security/apparmor/lsm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 3eb992801a7f..d851a6cc19d3 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -954,7 +954,6 @@ static int apparmor_task_kill(struct task_struct *target, struct kernel_siginfo
cl = aa_get_newest_cred_label(cred);
error = aa_may_signal(cred, cl, tc, tl, sig);
aa_put_label(cl);
- return error;
} else {
cl = __begin_current_label_crit_section();
error = aa_may_signal(current_cred(), cl, tc, tl, sig);