public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sasha Finkelstein <fnkl.kernel@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Kent Overstreet <kent.overstreet@linux.dev>
Subject: [bcachefs:master 140/143] fs/bcachefs/fs.c:715:12: warning: stack frame size (1032) exceeds limit (1024) in 'bch2_rename2'
Date: Tue, 3 Sep 2024 08:30:36 +0800	[thread overview]
Message-ID: <202409030844.3CszD3y9-lkp@intel.com> (raw)

tree:   https://evilpiepirate.org/git/bcachefs.git master
head:   4e7795eda4459bf3e69c87c793bc34f610f9d981
commit: 2b3a3fdc7c95ea7d9e9ac9a02ecfc87006923f72 [140/143] bcachefs: Hook up RENAME_WHITEOUT in rename.
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20240903/202409030844.3CszD3y9-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 6f682c26b04f0b349c4c473756cb8625b4f37c6d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240903/202409030844.3CszD3y9-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409030844.3CszD3y9-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from fs/bcachefs/fs.c:4:
   In file included from fs/bcachefs/bcachefs.h:188:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:10:
   In file included from include/linux/mm.h:2228:
   include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     514 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from fs/bcachefs/fs.c:4:
   In file included from fs/bcachefs/bcachefs.h:188:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:14:
   In file included from arch/hexagon/include/asm/io.h:328:
   include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     548 |         val = __raw_readb(PCI_IOBASE + addr);
         |                           ~~~~~~~~~~ ^
   include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     561 |         val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
         |                                                         ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
      37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
         |                                                   ^
   In file included from fs/bcachefs/fs.c:4:
   In file included from fs/bcachefs/bcachefs.h:188:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:14:
   In file included from arch/hexagon/include/asm/io.h:328:
   include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     574 |         val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
         |                                                         ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
      35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
         |                                                   ^
   In file included from fs/bcachefs/fs.c:4:
   In file included from fs/bcachefs/bcachefs.h:188:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:14:
   In file included from arch/hexagon/include/asm/io.h:328:
   include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     585 |         __raw_writeb(value, PCI_IOBASE + addr);
         |                             ~~~~~~~~~~ ^
   include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     595 |         __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
         |                                                       ~~~~~~~~~~ ^
   include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     605 |         __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
         |                                                       ~~~~~~~~~~ ^
>> fs/bcachefs/fs.c:715:12: warning: stack frame size (1032) exceeds limit (1024) in 'bch2_rename2' [-Wframe-larger-than]
     715 | static int bch2_rename2(struct mnt_idmap *idmap,
         |            ^
   8 warnings generated.


vim +/bch2_rename2 +715 fs/bcachefs/fs.c

1c6fdbd8f2465d Kent Overstreet   2017-03-16  714  
1c6fdbd8f2465d Kent Overstreet   2017-03-16 @715  static int bch2_rename2(struct mnt_idmap *idmap,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  716  			struct inode *src_vdir, struct dentry *src_dentry,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  717  			struct inode *dst_vdir, struct dentry *dst_dentry,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  718  			unsigned flags)
1c6fdbd8f2465d Kent Overstreet   2017-03-16  719  {
1c6fdbd8f2465d Kent Overstreet   2017-03-16  720  	struct bch_fs *c = src_vdir->i_sb->s_fs_info;
9638574229e3ae Kent Overstreet   2019-10-02  721  	struct bch_inode_info *src_dir = to_bch_ei(src_vdir);
9638574229e3ae Kent Overstreet   2019-10-02  722  	struct bch_inode_info *dst_dir = to_bch_ei(dst_vdir);
9638574229e3ae Kent Overstreet   2019-10-02  723  	struct bch_inode_info *src_inode = to_bch_ei(src_dentry->d_inode);
9638574229e3ae Kent Overstreet   2019-10-02  724  	struct bch_inode_info *dst_inode = to_bch_ei(dst_dentry->d_inode);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  725  	struct bch_inode_unpacked dst_dir_u, src_dir_u;
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  726  	struct bch_inode_unpacked src_inode_u, dst_inode_u, whiteout_inode_u;
6bd68ec266ad71 Kent Overstreet   2023-09-12  727  	struct btree_trans *trans;
9638574229e3ae Kent Overstreet   2019-10-02  728  	enum bch_rename_mode mode = flags & RENAME_EXCHANGE
9638574229e3ae Kent Overstreet   2019-10-02  729  		? BCH_RENAME_EXCHANGE
9638574229e3ae Kent Overstreet   2019-10-02  730  		: dst_dentry->d_inode
9638574229e3ae Kent Overstreet   2019-10-02  731  		? BCH_RENAME_OVERWRITE : BCH_RENAME;
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  732  	bool whiteout = !!(flags & RENAME_WHITEOUT);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  733  	int ret;
1c6fdbd8f2465d Kent Overstreet   2017-03-16  734  
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  735  	if (flags & ~(RENAME_NOREPLACE|RENAME_EXCHANGE|RENAME_WHITEOUT))
1c6fdbd8f2465d Kent Overstreet   2017-03-16  736  		return -EINVAL;
1c6fdbd8f2465d Kent Overstreet   2017-03-16  737  
9638574229e3ae Kent Overstreet   2019-10-02  738  	if (mode == BCH_RENAME_OVERWRITE) {
9638574229e3ae Kent Overstreet   2019-10-02  739  		ret = filemap_write_and_wait_range(src_inode->v.i_mapping,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  740  						   0, LLONG_MAX);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  741  		if (ret)
1c6fdbd8f2465d Kent Overstreet   2017-03-16  742  			return ret;
1c6fdbd8f2465d Kent Overstreet   2017-03-16  743  	}
1c6fdbd8f2465d Kent Overstreet   2017-03-16  744  
168f4c5fb37513 Kent Overstreet   2019-06-24  745  	bch2_lock_inodes(INODE_UPDATE_LOCK,
9638574229e3ae Kent Overstreet   2019-10-02  746  			 src_dir,
9638574229e3ae Kent Overstreet   2019-10-02  747  			 dst_dir,
9638574229e3ae Kent Overstreet   2019-10-02  748  			 src_inode,
9638574229e3ae Kent Overstreet   2019-10-02  749  			 dst_inode);
9638574229e3ae Kent Overstreet   2019-10-02  750  
f369de82679f4f Kent Overstreet   2024-07-04  751  	trans = bch2_trans_get(c);
f369de82679f4f Kent Overstreet   2024-07-04  752  
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  753  	if (whiteout)
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  754  		bch2_inode_init_early(c, &whiteout_inode_u);
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  755  
35c94b2cea126d Kent Overstreet   2024-06-08  756  	ret   = bch2_subvol_is_ro_trans(trans, src_dir->ei_inum.subvol) ?:
35c94b2cea126d Kent Overstreet   2024-06-08  757  		bch2_subvol_is_ro_trans(trans, dst_dir->ei_inum.subvol);
0d72ab35a925d6 Kent Overstreet   2023-12-29  758  	if (ret)
0d72ab35a925d6 Kent Overstreet   2023-12-29  759  		goto err;
0d72ab35a925d6 Kent Overstreet   2023-12-29  760  
9638574229e3ae Kent Overstreet   2019-10-02  761  	if (inode_attr_changing(dst_dir, src_inode, Inode_opt_project)) {
9638574229e3ae Kent Overstreet   2019-10-02  762  		ret = bch2_fs_quota_transfer(c, src_inode,
9638574229e3ae Kent Overstreet   2019-10-02  763  					     dst_dir->ei_qid,
96012e143e699d Kent Overstreet   2018-12-17  764  					     1 << QTYP_PRJ,
96012e143e699d Kent Overstreet   2018-12-17  765  					     KEY_TYPE_QUOTA_PREALLOC);
96012e143e699d Kent Overstreet   2018-12-17  766  		if (ret)
96012e143e699d Kent Overstreet   2018-12-17  767  			goto err;
96012e143e699d Kent Overstreet   2018-12-17  768  	}
96012e143e699d Kent Overstreet   2018-12-17  769  
9638574229e3ae Kent Overstreet   2019-10-02  770  	if (mode == BCH_RENAME_EXCHANGE &&
9638574229e3ae Kent Overstreet   2019-10-02  771  	    inode_attr_changing(src_dir, dst_inode, Inode_opt_project)) {
9638574229e3ae Kent Overstreet   2019-10-02  772  		ret = bch2_fs_quota_transfer(c, dst_inode,
9638574229e3ae Kent Overstreet   2019-10-02  773  					     src_dir->ei_qid,
96012e143e699d Kent Overstreet   2018-12-17  774  					     1 << QTYP_PRJ,
96012e143e699d Kent Overstreet   2018-12-17  775  					     KEY_TYPE_QUOTA_PREALLOC);
96012e143e699d Kent Overstreet   2018-12-17  776  		if (ret)
96012e143e699d Kent Overstreet   2018-12-17  777  			goto err;
96012e143e699d Kent Overstreet   2018-12-17  778  	}
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  779  retry:
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  780  	bch2_trans_begin(trans);
96012e143e699d Kent Overstreet   2018-12-17  781  
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  782  	ret = bch2_rename_trans(trans,
6fed42bb7750e2 Kent Overstreet   2021-03-16  783  				inode_inum(src_dir), &src_dir_u,
6fed42bb7750e2 Kent Overstreet   2021-03-16  784  				inode_inum(dst_dir), &dst_dir_u,
9638574229e3ae Kent Overstreet   2019-10-02  785  				&src_inode_u,
9638574229e3ae Kent Overstreet   2019-10-02  786  				&dst_inode_u,
9638574229e3ae Kent Overstreet   2019-10-02  787  				&src_dentry->d_name,
9638574229e3ae Kent Overstreet   2019-10-02  788  				&dst_dentry->d_name,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  789  				mode);
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  790  	if (unlikely(ret))
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  791  		goto err_tx_restart;
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  792  
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  793  	if (whiteout) {
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  794  		ret = bch2_create_trans(trans,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  795  					inode_inum(src_dir), &src_dir_u,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  796  					&whiteout_inode_u,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  797  					&src_dentry->d_name,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  798  					from_kuid(i_user_ns(&src_dir->v), current_fsuid()),
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  799  					from_kgid(i_user_ns(&src_dir->v), current_fsgid()),
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  800  					S_IFCHR|WHITEOUT_MODE, 0,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  801  					NULL, NULL, (subvol_inum) { 0 }, 0) ?:
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  802  		      bch2_quota_acct(c, bch_qid(&whiteout_inode_u), Q_INO, 1,
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  803  				      KEY_TYPE_QUOTA_PREALLOC);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  804  		if (unlikely(ret))
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  805  			goto err_tx_restart;
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  806  	}
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  807  
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  808  	ret = bch2_trans_commit(trans, NULL, NULL, 0);
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  809  	if (unlikely(ret)) {
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  810  err_tx_restart:
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  811  		if (bch2_err_matches(ret, BCH_ERR_transaction_restart))
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  812  			goto retry;
1c6fdbd8f2465d Kent Overstreet   2017-03-16  813  		goto err;
2b3a3fdc7c95ea Sasha Finkelstein 2024-08-18  814  	}
1c6fdbd8f2465d Kent Overstreet   2017-03-16  815  
9638574229e3ae Kent Overstreet   2019-10-02  816  	BUG_ON(src_inode->v.i_ino != src_inode_u.bi_inum);
9638574229e3ae Kent Overstreet   2019-10-02  817  	BUG_ON(dst_inode &&
9638574229e3ae Kent Overstreet   2019-10-02  818  	       dst_inode->v.i_ino != dst_inode_u.bi_inum);
9638574229e3ae Kent Overstreet   2019-10-02  819  
6bd68ec266ad71 Kent Overstreet   2023-09-12  820  	bch2_inode_update_after_write(trans, src_dir, &src_dir_u,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  821  				      ATTR_MTIME|ATTR_CTIME);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  822  
68a2054d88f7cd Kent Overstreet   2021-11-05  823  	if (src_dir != dst_dir)
6bd68ec266ad71 Kent Overstreet   2023-09-12  824  		bch2_inode_update_after_write(trans, dst_dir, &dst_dir_u,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  825  					      ATTR_MTIME|ATTR_CTIME);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  826  
6bd68ec266ad71 Kent Overstreet   2023-09-12  827  	bch2_inode_update_after_write(trans, src_inode, &src_inode_u,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  828  				      ATTR_CTIME);
9638574229e3ae Kent Overstreet   2019-10-02  829  
68a2054d88f7cd Kent Overstreet   2021-11-05  830  	if (dst_inode)
6bd68ec266ad71 Kent Overstreet   2023-09-12  831  		bch2_inode_update_after_write(trans, dst_inode, &dst_inode_u,
1c6fdbd8f2465d Kent Overstreet   2017-03-16  832  					      ATTR_CTIME);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  833  err:
6bd68ec266ad71 Kent Overstreet   2023-09-12  834  	bch2_trans_put(trans);
96012e143e699d Kent Overstreet   2018-12-17  835  
9638574229e3ae Kent Overstreet   2019-10-02  836  	bch2_fs_quota_transfer(c, src_inode,
9638574229e3ae Kent Overstreet   2019-10-02  837  			       bch_qid(&src_inode->ei_inode),
96012e143e699d Kent Overstreet   2018-12-17  838  			       1 << QTYP_PRJ,
96012e143e699d Kent Overstreet   2018-12-17  839  			       KEY_TYPE_QUOTA_NOCHECK);
9638574229e3ae Kent Overstreet   2019-10-02  840  	if (dst_inode)
9638574229e3ae Kent Overstreet   2019-10-02  841  		bch2_fs_quota_transfer(c, dst_inode,
9638574229e3ae Kent Overstreet   2019-10-02  842  				       bch_qid(&dst_inode->ei_inode),
96012e143e699d Kent Overstreet   2018-12-17  843  				       1 << QTYP_PRJ,
96012e143e699d Kent Overstreet   2018-12-17  844  				       KEY_TYPE_QUOTA_NOCHECK);
96012e143e699d Kent Overstreet   2018-12-17  845  
168f4c5fb37513 Kent Overstreet   2019-06-24  846  	bch2_unlock_inodes(INODE_UPDATE_LOCK,
9638574229e3ae Kent Overstreet   2019-10-02  847  			   src_dir,
9638574229e3ae Kent Overstreet   2019-10-02  848  			   dst_dir,
9638574229e3ae Kent Overstreet   2019-10-02  849  			   src_inode,
9638574229e3ae Kent Overstreet   2019-10-02  850  			   dst_inode);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  851  
1a1c93e7f81417 Kent Overstreet   2024-02-09  852  	return bch2_err_class(ret);
1c6fdbd8f2465d Kent Overstreet   2017-03-16  853  }
1c6fdbd8f2465d Kent Overstreet   2017-03-16  854  

:::::: The code at line 715 was first introduced by commit
:::::: 1c6fdbd8f2465ddfb73a01ec620cbf3d14044e1a bcachefs: Initial commit

:::::: TO: Kent Overstreet <kent.overstreet@gmail.com>
:::::: CC: Kent Overstreet <kent.overstreet@linux.dev>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2024-09-03  0:31 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202409030844.3CszD3y9-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=fnkl.kernel@gmail.com \
    --cc=kent.overstreet@linux.dev \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox