From: Mickaël Salaün Date: Fri, 23 Feb 2024 19:05:46 +0000 (+0100) Subject: apparmor: fix lsm_get_self_attr() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6d2fb472ea9ea27f765f10ba65ec73d30f6b7977;p=linux.git 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 Cc: John Johansen Fixes: 223981db9baf ("AppArmor: Add selfattr hooks") Signed-off-by: Mickaël Salaün Reviewed-by: Paul Moore [PM: description changes as discussed with MS] Signed-off-by: Paul Moore --- diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c index 7717354ce0950..63df97418b468 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: