diff options
author | Mickaël Salaün <mic@digikod.net> | 2024-02-23 20:05:45 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2024-02-23 23:16:33 +0100 |
commit | 86dc9693145bc3b2c21d2bc6a2563376ba8b15ff (patch) | |
tree | 6a2dd2c623306248118fc6816b80e0f1a086b623 /security/selinux | |
parent | lsm: fix integer overflow in lsm_set_self_attr() syscall (diff) | |
download | linux-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.c | 2 |
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); |