All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-stable-rc:linux-5.4.y 4066/4655] drivers/staging/exfat/exfat_super.c:3835:12: warning: stack frame size of 1040 bytes in function 'exfat_fill_super'
Date: Thu, 23 Apr 2020 13:48:11 +0800	[thread overview]
Message-ID: <202004231306.hljV9CL3%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 9520 bytes --]

TO: Dirk Mueller <dmueller@suse.com>
CC: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
CC: David Gibson <david@gibson.dropbear.id.au>
CC: Rob Herring <robh@kernel.org>

Hi Dirk,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head:   186764443bf32f12e07093aaff52dd4a25231781
commit: 35b34d264cb347909ec89d9fa895900035d5438c [4066/4655] scripts/dtc: Remove redundant YYLOC global declaration
config: powerpc-randconfig-a001-20200423 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 2de52422acf04662b45599f77c14ce1b2cec2b81)
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        git checkout 35b34d264cb347909ec89d9fa895900035d5438c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/staging/exfat/exfat_super.c:3835:12: warning: stack frame size of 1040 bytes in function 'exfat_fill_super' [-Wframe-larger-than=]
   static int exfat_fill_super(struct super_block *sb, void *data, int silent)
              ^
>> drivers/staging/exfat/exfat_super.c:2200:12: warning: stack frame size of 1568 bytes in function 'exfat_readdir' [-Wframe-larger-than=]
   static int exfat_readdir(struct file *filp, struct dir_context *ctx)
              ^
   2 warnings generated.

vim +/exfat_fill_super +3835 drivers/staging/exfat/exfat_super.c

c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3834  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28 @3835  static int exfat_fill_super(struct super_block *sb, void *data, int silent)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3836  {
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3837  	struct inode *root_inode = NULL;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3838  	struct exfat_sb_info *sbi;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3839  	int debug, ret;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3840  	long error;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3841  	char buf[50];
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3842  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3843  	/*
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3844  	 * GFP_KERNEL is ok here, because while we do hold the
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3845  	 * supeblock lock, memory pressure can't call back into
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3846  	 * the filesystem, since we're only just about to mount
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3847  	 * it and have no inodes etc active!
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3848  	 */
6e58fc14d7ed91 Jia-Ye Li        2019-09-25  3849  	sbi = kvzalloc(sizeof(*sbi), GFP_KERNEL);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3850  	if (!sbi)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3851  		return -ENOMEM;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3852  	mutex_init(&sbi->s_lock);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3853  	sb->s_fs_info = sbi;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3854  	sb->s_flags |= SB_NODIRATIME;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3855  	sb->s_magic = EXFAT_SUPER_MAGIC;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3856  	sb->s_op = &exfat_sops;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3857  	sb->s_export_op = &exfat_export_ops;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3858  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3859  	error = parse_options(data, silent, &debug, &sbi->options);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3860  	if (error)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3861  		goto out_fail;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3862  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3863  	setup_dops(sb);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3864  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3865  	error = -EIO;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3866  	sb_min_blocksize(sb, 512);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3867  	sb->s_maxbytes = 0x7fffffffffffffffLL;    /* maximum file size */
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3868  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3869  	ret = ffsMountVol(sb);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3870  	if (ret) {
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3871  		if (!silent)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3872  			pr_err("[EXFAT] ffsMountVol failed\n");
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3873  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3874  		goto out_fail;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3875  	}
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3876  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3877  	/* set up enough so that it can read an inode */
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3878  	exfat_hash_init(sb);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3879  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3880  	/*
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3881  	 * The low byte of FAT's first entry must have same value with
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3882  	 * media-field.  But in real world, too many devices is
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3883  	 * writing wrong value.  So, removed that validity check.
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3884  	 *
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3885  	 * if (FAT_FIRST_ENT(sb, media) != first)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3886  	 */
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3887  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3888  	/* codepage is not meaningful in exfat */
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3889  	if (sbi->fs_info.vol_type != EXFAT) {
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3890  		error = -EINVAL;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3891  		sprintf(buf, "cp%d", sbi->options.codepage);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3892  		sbi->nls_disk = load_nls(buf);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3893  		if (!sbi->nls_disk) {
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3894  			pr_err("[EXFAT] Codepage %s not found\n", buf);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3895  			goto out_fail2;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3896  		}
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3897  	}
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3898  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3899  	sbi->nls_io = load_nls(sbi->options.iocharset);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3900  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3901  	error = -ENOMEM;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3902  	root_inode = new_inode(sb);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3903  	if (!root_inode)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3904  		goto out_fail2;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3905  	root_inode->i_ino = EXFAT_ROOT_INO;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3906  	SET_IVERSION(root_inode, 1);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3907  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3908  	error = exfat_read_root(root_inode);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3909  	if (error < 0)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3910  		goto out_fail2;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3911  	error = -ENOMEM;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3912  	exfat_attach(root_inode, EXFAT_I(root_inode)->i_pos);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3913  	insert_inode_hash(root_inode);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3914  	sb->s_root = d_make_root(root_inode);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3915  	if (!sb->s_root) {
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3916  		pr_err("[EXFAT] Getting the root inode failed\n");
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3917  		goto out_fail2;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3918  	}
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3919  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3920  	return 0;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3921  
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3922  out_fail2:
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3923  	ffsUmountVol(sb);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3924  out_fail:
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3925  	if (root_inode)
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3926  		iput(root_inode);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3927  	sb->s_fs_info = NULL;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3928  	exfat_free_super(sbi);
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3929  	return error;
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3930  }
c48c9f7ff32b8b Valdis Kletnieks 2019-08-28  3931  

:::::: The code at line 3835 was first introduced by commit
:::::: c48c9f7ff32b8b3965a08e40eb6763682d905b5d staging: exfat: add exfat filesystem code to staging

:::::: TO: Valdis Klētnieks <valdis.kletnieks@vt.edu>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30303 bytes --]

                 reply	other threads:[~2020-04-23  5:48 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=202004231306.hljV9CL3%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.