summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMickaël Salaün <mic@digikod.net>2024-02-23 20:05:46 +0100
committerPaul Moore <paul@paul-moore.com>2024-02-23 17:16:33 -0500
commit6d2fb472ea9ea27f765f10ba65ec73d30f6b7977 (patch)
tree8b39d68c46c7859cc90d8bf1063e2c67d9c05536
parent86dc9693145bc3b2c21d2bc6a2563376ba8b15ff (diff)
downloadlinux-6d2fb472ea9ea27f765f10ba65ec73d30f6b7977.tar.gz
linux-6d2fb472ea9ea27f765f10ba65ec73d30f6b7977.tar.bz2
linux-6d2fb472ea9ea27f765f10ba65ec73d30f6b7977.zip
apparmor: fix lsm_get_self_attr()
In apparmor_getselfattr() when an invalid AppArmor attribute is requested, or a value hasn't been explicitly set for the requested attribute, the label passed to aa_put_label() is not properly initialized which can cause problems when the pointer value is non-NULL and AppArmor attempts to drop a reference on the bogus label object. Cc: Casey Schaufler <casey@schaufler-ca.com> Cc: John Johansen <john.johansen@canonical.com> Fixes: 223981db9baf ("AppArmor: Add selfattr hooks") Signed-off-by: Mickaël Salaün <mic@digikod.net> Reviewed-by: Paul Moore <paul@paul-moore.com> [PM: description changes as discussed with MS] Signed-off-by: Paul Moore <paul@paul-moore.com>
-rw-r--r--security/apparmor/lsm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 7717354ce095..63df97418b46 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -782,7 +782,7 @@ static int apparmor_getselfattr(unsigned int attr, struct lsm_ctx __user *lx,
int error = -ENOENT;
struct aa_task_ctx *ctx = task_ctx(current);
struct aa_label *label = NULL;
- char *value;
+ char *value = NULL;
switch (attr) {
case LSM_ATTR_CURRENT: