summaryrefslogtreecommitdiffstats
path: root/security/selinux
diff options
context:
space:
mode:
authorMickaël Salaün <mic@digikod.net>2024-02-23 20:05:45 +0100
committerPaul Moore <paul@paul-moore.com>2024-02-23 23:16:33 +0100
commit86dc9693145bc3b2c21d2bc6a2563376ba8b15ff (patch)
tree6a2dd2c623306248118fc6816b80e0f1a086b623 /security/selinux
parentlsm: fix integer overflow in lsm_set_self_attr() syscall (diff)
downloadlinux-86dc9693145bc3b2c21d2bc6a2563376ba8b15ff.tar.xz
linux-86dc9693145bc3b2c21d2bc6a2563376ba8b15ff.zip
selinux: fix lsm_get_self_attr()
selinux_getselfattr() doesn't properly initialize the string pointer it passes to selinux_lsm_getattr() which can cause a problem when an attribute hasn't been explicitly set; selinux_lsm_getattr() returns 0/success, but does not set or initialize the string label/attribute. Failure to properly initialize the string causes problems later in selinux_getselfattr() when the function attempts to kfree() the string. Cc: Casey Schaufler <casey@schaufler-ca.com> Fixes: 762c934317e6 ("SELinux: Add selfattr hooks") Suggested-by: Paul Moore <paul@paul-moore.com> [PM: description changes as discussed in the thread] Signed-off-by: Mickaël Salaün <mic@digikod.net> Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security/selinux')
-rw-r--r--security/selinux/hooks.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index a6bf90ace84c..338b023a8c3e 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -6559,7 +6559,7 @@ static int selinux_getselfattr(unsigned int attr, struct lsm_ctx __user *ctx,
size_t *size, u32 flags)
{
int rc;
- char *val;
+ char *val = NULL;
int val_len;
val_len = selinux_lsm_getattr(attr, current, &val);