]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selinux: check return value of sel_make_avc_files
authorChristian Göttsche <cgzones@googlemail.com>
Tue, 25 Jan 2022 14:14:20 +0000 (15:14 +0100)
committerPaul Moore <paul@paul-moore.com>
Wed, 26 Jan 2022 00:21:21 +0000 (19:21 -0500)
sel_make_avc_files() might fail and return a negative errno value on
memory allocation failures. Re-add the check of the return value,
dropped in 66f8e2f03c02 ("selinux: sidtab reverse lookup hash table").

Reported by clang-analyzer:

    security/selinux/selinuxfs.c:2129:2: warning: Value stored to
      'ret' is never read [deadcode.DeadStores]
            ret = sel_make_avc_files(dentry);
            ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixes: 66f8e2f03c02 ("selinux: sidtab reverse lookup hash table")
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
[PM: description line wrapping, added proper commit ref]
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/selinuxfs.c

index e4cd7cb856f375c8eaab1894f632374510709bf2..f2f6203e0fff5a6ec981a2e59f404429d3f6b288 100644 (file)
@@ -2127,6 +2127,8 @@ static int sel_fill_super(struct super_block *sb, struct fs_context *fc)
        }
 
        ret = sel_make_avc_files(dentry);
+       if (ret)
+               goto err;
 
        dentry = sel_make_dir(sb->s_root, "ss", &fsi->last_ino);
        if (IS_ERR(dentry)) {