lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Thu, 18 Aug 2022 04:34:04 +0800
From:   kernel test robot <lkp@...el.com>
To:     Christian Brauner <brauner@...nel.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, 0day robot <lkp@...el.com>
Subject: security/selinux/selinuxfs.c:2093:6: warning: variable 'fsi' is used
 uninitialized whenever 'if' condition is true

tree:   https://github.com/intel-lab-lkp/linux/commits/UPDATE-20220817-225425/Dongliang-Mu/drivers-binderfs-fix-memory-leak-in-binderfs_fill_super/20220812-212646
head:   592368c18a257eccb1c2de5eca89421a0a333a34
commit: 592368c18a257eccb1c2de5eca89421a0a333a34 binderfs: rework superblock destruction
date:   6 hours ago
config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220818/202208180442.9ncBZM8u-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project aed5e3bea138ce581d682158eb61c27b3cfdd6ec)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/592368c18a257eccb1c2de5eca89421a0a333a34
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review UPDATE-20220817-225425/Dongliang-Mu/drivers-binderfs-fix-memory-leak-in-binderfs_fill_super/20220812-212646
        git checkout 592368c18a257eccb1c2de5eca89421a0a333a34
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash security/selinux/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> security/selinux/selinuxfs.c:2093:6: warning: variable 'fsi' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (ret)
               ^~~
   security/selinux/selinuxfs.c:2181:23: note: uninitialized use occurs here
           selinux_fs_info_free(fsi);
                                ^~~
   security/selinux/selinuxfs.c:2093:2: note: remove the 'if' if its condition is always false
           if (ret)
           ^~~~~~~~
   security/selinux/selinuxfs.c:2089:6: warning: variable 'fsi' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (ret)
               ^~~
   security/selinux/selinuxfs.c:2181:23: note: uninitialized use occurs here
           selinux_fs_info_free(fsi);
                                ^~~
   security/selinux/selinuxfs.c:2089:2: note: remove the 'if' if its condition is always false
           if (ret)
           ^~~~~~~~
   security/selinux/selinuxfs.c:2059:29: note: initialize the variable 'fsi' to silence this warning
           struct selinux_fs_info *fsi;
                                      ^
                                       = NULL
   2 warnings generated.


vim +2093 security/selinux/selinuxfs.c

0619f0f5e36f12e Stephen Smalley     2018-03-20  2056  
920f50b2a44bbc5 David Howells       2019-03-25  2057  static int sel_fill_super(struct super_block *sb, struct fs_context *fc)
^1da177e4c3f415 Linus Torvalds      2005-04-16  2058  {
0619f0f5e36f12e Stephen Smalley     2018-03-20  2059  	struct selinux_fs_info *fsi;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2060  	int ret;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2061  	struct dentry *dentry;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2062  	struct inode *inode;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2063  	struct inode_security_struct *isec;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2064  
cda37124f4e95ad Eric Biggers        2017-03-25  2065  	static const struct tree_descr selinux_files[] = {
^1da177e4c3f415 Linus Torvalds      2005-04-16  2066  		[SEL_LOAD] = {"load", &sel_load_ops, S_IRUSR|S_IWUSR},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2067  		[SEL_ENFORCE] = {"enforce", &sel_enforce_ops, S_IRUGO|S_IWUSR},
ce9982d048bb498 Stephen Smalley     2005-11-08  2068  		[SEL_CONTEXT] = {"context", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2069  		[SEL_ACCESS] = {"access", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2070  		[SEL_CREATE] = {"create", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2071  		[SEL_RELABEL] = {"relabel", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2072  		[SEL_USER] = {"user", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2073  		[SEL_POLICYVERS] = {"policyvers", &sel_policyvers_ops, S_IRUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2074  		[SEL_COMMIT_BOOLS] = {"commit_pending_bools", &sel_commit_bools_ops, S_IWUSR},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2075  		[SEL_MLS] = {"mls", &sel_mls_ops, S_IRUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2076  		[SEL_DISABLE] = {"disable", &sel_disable_ops, S_IWUSR},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2077  		[SEL_MEMBER] = {"member", &transaction_ops, S_IRUGO|S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2078  		[SEL_CHECKREQPROT] = {"checkreqprot", &sel_checkreqprot_ops, S_IRUGO|S_IWUSR},
3f12070e27b4a21 Eric Paris          2007-09-21  2079  		[SEL_REJECT_UNKNOWN] = {"reject_unknown", &sel_handle_unknown_ops, S_IRUGO},
3f12070e27b4a21 Eric Paris          2007-09-21  2080  		[SEL_DENY_UNKNOWN] = {"deny_unknown", &sel_handle_unknown_ops, S_IRUGO},
119041672592d18 KaiGai Kohei        2010-09-14  2081  		[SEL_STATUS] = {"status", &sel_handle_status_ops, S_IRUGO},
72e8c8593f8fdb9 Eric Paris          2012-02-16  2082  		[SEL_POLICY] = {"policy", &sel_policy_ops, S_IRUGO},
f9df6458218f4fe Andrew Perepechko   2015-12-24  2083  		[SEL_VALIDATE_TRANS] = {"validatetrans", &sel_transition_ops,
f9df6458218f4fe Andrew Perepechko   2015-12-24  2084  					S_IWUGO},
^1da177e4c3f415 Linus Torvalds      2005-04-16  2085  		/* last one */ {""}
^1da177e4c3f415 Linus Torvalds      2005-04-16  2086  	};
0619f0f5e36f12e Stephen Smalley     2018-03-20  2087  
0619f0f5e36f12e Stephen Smalley     2018-03-20  2088  	ret = selinux_fs_info_create(sb);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2089  	if (ret)
0619f0f5e36f12e Stephen Smalley     2018-03-20  2090  		goto err;
0619f0f5e36f12e Stephen Smalley     2018-03-20  2091  
^1da177e4c3f415 Linus Torvalds      2005-04-16  2092  	ret = simple_fill_super(sb, SELINUX_MAGIC, selinux_files);
^1da177e4c3f415 Linus Torvalds      2005-04-16 @2093  	if (ret)
161ce45a8a34ba8 James Morris        2006-03-22  2094  		goto err;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2095  
0619f0f5e36f12e Stephen Smalley     2018-03-20  2096  	fsi = sb->s_fs_info;
0619f0f5e36f12e Stephen Smalley     2018-03-20  2097  	fsi->bool_dir = sel_make_dir(sb->s_root, BOOL_DIR_NAME, &fsi->last_ino);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2098  	if (IS_ERR(fsi->bool_dir)) {
0619f0f5e36f12e Stephen Smalley     2018-03-20  2099  		ret = PTR_ERR(fsi->bool_dir);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2100  		fsi->bool_dir = NULL;
161ce45a8a34ba8 James Morris        2006-03-22  2101  		goto err;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2102  	}
^1da177e4c3f415 Linus Torvalds      2005-04-16  2103  
161ce45a8a34ba8 James Morris        2006-03-22  2104  	ret = -ENOMEM;
b77a493b1dc8010 Eric Paris          2010-11-23  2105  	dentry = d_alloc_name(sb->s_root, NULL_FILE_NAME);
b77a493b1dc8010 Eric Paris          2010-11-23  2106  	if (!dentry)
161ce45a8a34ba8 James Morris        2006-03-22  2107  		goto err;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2108  
161ce45a8a34ba8 James Morris        2006-03-22  2109  	ret = -ENOMEM;
b77a493b1dc8010 Eric Paris          2010-11-23  2110  	inode = sel_make_inode(sb, S_IFCHR | S_IRUGO | S_IWUGO);
7e4237faa7213c1 nixiaoming          2018-08-05  2111  	if (!inode) {
7e4237faa7213c1 nixiaoming          2018-08-05  2112  		dput(dentry);
161ce45a8a34ba8 James Morris        2006-03-22  2113  		goto err;
7e4237faa7213c1 nixiaoming          2018-08-05  2114  	}
b77a493b1dc8010 Eric Paris          2010-11-23  2115  
0619f0f5e36f12e Stephen Smalley     2018-03-20  2116  	inode->i_ino = ++fsi->last_ino;
80788c229116b28 Casey Schaufler     2018-09-21  2117  	isec = selinux_inode(inode);
^1da177e4c3f415 Linus Torvalds      2005-04-16  2118  	isec->sid = SECINITSID_DEVNULL;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2119  	isec->sclass = SECCLASS_CHR_FILE;
420591128cb2062 Andreas Gruenbacher 2016-11-10  2120  	isec->initialized = LABEL_INITIALIZED;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2121  
^1da177e4c3f415 Linus Torvalds      2005-04-16  2122  	init_special_inode(inode, S_IFCHR | S_IRUGO | S_IWUGO, MKDEV(MEM_MAJOR, 3));
^1da177e4c3f415 Linus Torvalds      2005-04-16  2123  	d_add(dentry, inode);
^1da177e4c3f415 Linus Torvalds      2005-04-16  2124  
0619f0f5e36f12e Stephen Smalley     2018-03-20  2125  	dentry = sel_make_dir(sb->s_root, "avc", &fsi->last_ino);
a1c2aa1e86a25e7 Al Viro             2012-03-18  2126  	if (IS_ERR(dentry)) {
a1c2aa1e86a25e7 Al Viro             2012-03-18  2127  		ret = PTR_ERR(dentry);
161ce45a8a34ba8 James Morris        2006-03-22  2128  		goto err;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2129  	}
^1da177e4c3f415 Linus Torvalds      2005-04-16  2130  
^1da177e4c3f415 Linus Torvalds      2005-04-16  2131  	ret = sel_make_avc_files(dentry);
bcb62828e3e8c81 Christian Göttsche  2022-01-25  2132  	if (ret)
bcb62828e3e8c81 Christian Göttsche  2022-01-25  2133  		goto err;
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2134  
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2135  	dentry = sel_make_dir(sb->s_root, "ss", &fsi->last_ino);
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2136  	if (IS_ERR(dentry)) {
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2137  		ret = PTR_ERR(dentry);
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2138  		goto err;
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2139  	}
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2140  
66f8e2f03c02e81 Jeff Vander Stoep   2019-11-22  2141  	ret = sel_make_ss_files(dentry);
^1da177e4c3f415 Linus Torvalds      2005-04-16  2142  	if (ret)
161ce45a8a34ba8 James Morris        2006-03-22  2143  		goto err;
f0ee2e467ffa68c James Carter        2007-04-04  2144  
0619f0f5e36f12e Stephen Smalley     2018-03-20  2145  	dentry = sel_make_dir(sb->s_root, "initial_contexts", &fsi->last_ino);
a1c2aa1e86a25e7 Al Viro             2012-03-18  2146  	if (IS_ERR(dentry)) {
a1c2aa1e86a25e7 Al Viro             2012-03-18  2147  		ret = PTR_ERR(dentry);
f0ee2e467ffa68c James Carter        2007-04-04  2148  		goto err;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2149  	}
f0ee2e467ffa68c James Carter        2007-04-04  2150  
f0ee2e467ffa68c James Carter        2007-04-04  2151  	ret = sel_make_initcon_files(dentry);
f0ee2e467ffa68c James Carter        2007-04-04  2152  	if (ret)
f0ee2e467ffa68c James Carter        2007-04-04  2153  		goto err;
f0ee2e467ffa68c James Carter        2007-04-04  2154  
613ba18798ac3cf Daniel Burgener     2020-08-19  2155  	fsi->class_dir = sel_make_dir(sb->s_root, CLASS_DIR_NAME, &fsi->last_ino);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2156  	if (IS_ERR(fsi->class_dir)) {
0619f0f5e36f12e Stephen Smalley     2018-03-20  2157  		ret = PTR_ERR(fsi->class_dir);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2158  		fsi->class_dir = NULL;
3bb56b25dbe0a4b Paul Moore          2008-01-29  2159  		goto err;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2160  	}
3bb56b25dbe0a4b Paul Moore          2008-01-29  2161  
613ba18798ac3cf Daniel Burgener     2020-08-19  2162  	fsi->policycap_dir = sel_make_dir(sb->s_root, POLICYCAP_DIR_NAME,
0619f0f5e36f12e Stephen Smalley     2018-03-20  2163  					  &fsi->last_ino);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2164  	if (IS_ERR(fsi->policycap_dir)) {
0619f0f5e36f12e Stephen Smalley     2018-03-20  2165  		ret = PTR_ERR(fsi->policycap_dir);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2166  		fsi->policycap_dir = NULL;
3bb56b25dbe0a4b Paul Moore          2008-01-29  2167  		goto err;
a1c2aa1e86a25e7 Al Viro             2012-03-18  2168  	}
0619f0f5e36f12e Stephen Smalley     2018-03-20  2169  
02a52c5c8c3b8cb Stephen Smalley     2020-08-07  2170  	ret = sel_make_policycap(fsi);
02a52c5c8c3b8cb Stephen Smalley     2020-08-07  2171  	if (ret) {
02a52c5c8c3b8cb Stephen Smalley     2020-08-07  2172  		pr_err("SELinux: failed to load policy capabilities\n");
0619f0f5e36f12e Stephen Smalley     2018-03-20  2173  		goto err;
02a52c5c8c3b8cb Stephen Smalley     2020-08-07  2174  	}
02a52c5c8c3b8cb Stephen Smalley     2020-08-07  2175  
b77a493b1dc8010 Eric Paris          2010-11-23  2176  	return 0;
161ce45a8a34ba8 James Morris        2006-03-22  2177  err:
f8b69a5f00ee0a8 peter enderborg     2018-06-12  2178  	pr_err("SELinux: %s:  failed while creating inodes\n",
744ba35e455b0d5 Eric Paris          2008-04-17  2179  		__func__);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2180  
592368c18a257ec Christian Brauner   2022-08-17  2181  	selinux_fs_info_free(fsi);
0619f0f5e36f12e Stephen Smalley     2018-03-20  2182  
b77a493b1dc8010 Eric Paris          2010-11-23  2183  	return ret;
^1da177e4c3f415 Linus Torvalds      2005-04-16  2184  }
^1da177e4c3f415 Linus Torvalds      2005-04-16  2185  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists