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
| ||
|
Date: Tue, 15 Mar 2022 19:11:24 +0800 From: kernel test robot <lkp@...el.com> To: "Matthew Wilcox (Oracle)" <willy@...radead.org> Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org Subject: [willy-pagecache:for-next 174/179] fs/nilfs2/inode.c:227:13: warning: variable 'nr_dirty' is used uninitialized whenever 'if' condition is false tree: git://git.infradead.org/users/willy/pagecache for-next head: af564d7369d44fbbe697a5f631fe3bba5ebecd59 commit: 248cfe55743b4293f9fa06384e35581121d60ee1 [174/179] nilfs: Convert nilfs_set_page_dirty() to nilfs_dirty_folio() config: i386-randconfig-a012-20220314 (https://download.01.org/0day-ci/archive/20220315/202203151941.WVgUZDhE-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a6b2f50fb47da3baeee10b1906da6e30ac5d26ec) 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 git remote add willy-pagecache git://git.infradead.org/users/willy/pagecache git fetch --no-tags willy-pagecache for-next git checkout 248cfe55743b4293f9fa06384e35581121d60ee1 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash fs/nilfs2/ mm/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@...el.com> All warnings (new ones prefixed by >>): >> fs/nilfs2/inode.c:227:13: warning: variable 'nr_dirty' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] } else if (ret) { ^~~ fs/nilfs2/inode.c:232:6: note: uninitialized use occurs here if (nr_dirty) ^~~~~~~~ fs/nilfs2/inode.c:227:9: note: remove the 'if' if its condition is always true } else if (ret) { ^~~~~~~~~ fs/nilfs2/inode.c:207:23: note: initialize the variable 'nr_dirty' to silence this warning unsigned int nr_dirty; ^ = 0 1 warning generated. vim +227 fs/nilfs2/inode.c 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 201 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 202) static bool nilfs_dirty_folio(struct address_space *mapping, 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 203) struct folio *folio) 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 204 { 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 205) struct inode *inode = mapping->host; 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 206) struct buffer_head *head; 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 207) unsigned int nr_dirty; 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 208) bool ret = filemap_dirty_folio(mapping, folio); 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 209 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 210 /* 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 211) * The page may not be locked, eg if called from try_to_unmap_one() 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 212 */ 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 213) spin_lock(&mapping->private_lock); 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 214) head = folio_buffers(folio); 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 215) if (head) { 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 216) struct buffer_head *bh = head; 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 217) 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 218) nr_dirty = 0; 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 219 do { 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 220 /* Do not mark hole blocks dirty */ 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 221 if (buffer_dirty(bh) || !buffer_mapped(bh)) 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 222 continue; 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 223 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 224 set_buffer_dirty(bh); 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 225 nr_dirty++; 136e8770cd5d1fe Ryusuke Konishi 2013-05-24 226 } while (bh = bh->b_this_page, bh != head); 56d7acc792c0d98 Andreas Rohner 2014-09-25 @227 } else if (ret) { 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 228) nr_dirty = 1 << (PAGE_SHIFT - inode->i_blkbits); 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 229) } 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 230) spin_unlock(&mapping->private_lock); 56d7acc792c0d98 Andreas Rohner 2014-09-25 231 248cfe55743b429 Matthew Wilcox (Oracle 2022-02-09 232) if (nr_dirty) bcbc8c648d6cc88 Ryusuke Konishi 2010-12-27 233 nilfs_set_file_dirty(inode, nr_dirty); 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 234 return ret; 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 235 } 05fe58fdc10df9e Ryusuke Konishi 2009-04-06 236 :::::: The code at line 227 was first introduced by commit :::::: 56d7acc792c0d98f38f22058671ee715ff197023 nilfs2: fix data loss with mmap() :::::: TO: Andreas Rohner <andreas.rohner@....net> :::::: CC: Linus Torvalds <torvalds@...ux-foundation.org> --- 0-DAY CI Kernel Test Service https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists