diff options
author | Mickaël Salaün <mic@digikod.net> | 2024-02-23 20:05:46 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2024-02-23 23:16:33 +0100 |
commit | 6d2fb472ea9ea27f765f10ba65ec73d30f6b7977 (patch) | |
tree | 8b39d68c46c7859cc90d8bf1063e2c67d9c05536 /security | |
parent | selinux: fix lsm_get_self_attr() (diff) | |
download | linux-6d2fb472ea9ea27f765f10ba65ec73d30f6b7977.tar.xz 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>
Diffstat (limited to 'security')
-rw-r--r-- | security/apparmor/lsm.c | 2 |
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: |