drivers/block/loop.c:1729:1: warning: the frame size of 1096 bytes is larger than 1024 bytes

From: kernel test robot
Date: Wed Nov 18 2020 - 07:06:00 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0fa8ee0d9ab95c9350b8b84574824d9a384a9f7d
commit: 3448914e8cc550ba792d4ccc74471d1ca4293aae loop: Add LOOP_CONFIGURE ioctl
date: 6 months ago
config: arm-randconfig-r012-20201118 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3448914e8cc550ba792d4ccc74471d1ca4293aae
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 3448914e8cc550ba792d4ccc74471d1ca4293aae
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/block/loop.c: In function 'lo_ioctl':
>> drivers/block/loop.c:1729:1: warning: the frame size of 1096 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1729 | }
| ^

vim +1729 drivers/block/loop.c

a13165441d58b21 Jan Kara 2018-11-08 1667
a13165441d58b21 Jan Kara 2018-11-08 1668 static int lo_ioctl(struct block_device *bdev, fmode_t mode,
a13165441d58b21 Jan Kara 2018-11-08 1669 unsigned int cmd, unsigned long arg)
a13165441d58b21 Jan Kara 2018-11-08 1670 {
a13165441d58b21 Jan Kara 2018-11-08 1671 struct loop_device *lo = bdev->bd_disk->private_data;
571fae6e290d64a Martijn Coenen 2020-05-13 1672 void __user *argp = (void __user *) arg;
a13165441d58b21 Jan Kara 2018-11-08 1673 int err;
3148ffbdb9162ba Omar Sandoval 2018-03-26 1674
^1da177e4c3f415 Linus Torvalds 2005-04-16 1675 switch (cmd) {
3448914e8cc550b Martijn Coenen 2020-05-13 1676 case LOOP_SET_FD: {
3448914e8cc550b Martijn Coenen 2020-05-13 1677 /*
3448914e8cc550b Martijn Coenen 2020-05-13 1678 * Legacy case - pass in a zeroed out struct loop_config with
3448914e8cc550b Martijn Coenen 2020-05-13 1679 * only the file descriptor set , which corresponds with the
3448914e8cc550b Martijn Coenen 2020-05-13 1680 * default parameters we'd have used otherwise.
3448914e8cc550b Martijn Coenen 2020-05-13 1681 */
3448914e8cc550b Martijn Coenen 2020-05-13 1682 struct loop_config config;
3448914e8cc550b Martijn Coenen 2020-05-13 1683
3448914e8cc550b Martijn Coenen 2020-05-13 1684 memset(&config, 0, sizeof(config));
3448914e8cc550b Martijn Coenen 2020-05-13 1685 config.fd = arg;
3448914e8cc550b Martijn Coenen 2020-05-13 1686
3448914e8cc550b Martijn Coenen 2020-05-13 1687 return loop_configure(lo, mode, bdev, &config);
3448914e8cc550b Martijn Coenen 2020-05-13 1688 }
3448914e8cc550b Martijn Coenen 2020-05-13 1689 case LOOP_CONFIGURE: {
3448914e8cc550b Martijn Coenen 2020-05-13 1690 struct loop_config config;
3448914e8cc550b Martijn Coenen 2020-05-13 1691
3448914e8cc550b Martijn Coenen 2020-05-13 1692 if (copy_from_user(&config, argp, sizeof(config)))
3448914e8cc550b Martijn Coenen 2020-05-13 1693 return -EFAULT;
3448914e8cc550b Martijn Coenen 2020-05-13 1694
3448914e8cc550b Martijn Coenen 2020-05-13 1695 return loop_configure(lo, mode, bdev, &config);
3448914e8cc550b Martijn Coenen 2020-05-13 1696 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1697 case LOOP_CHANGE_FD:
c371077000f4138 Jan Kara 2018-11-08 1698 return loop_change_fd(lo, bdev, arg);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1699 case LOOP_CLR_FD:
7ccd0791d98531d Jan Kara 2018-11-08 1700 return loop_clr_fd(lo);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1701 case LOOP_SET_STATUS:
7035b5df3c071cc Dmitry Monakhov 2011-11-16 1702 err = -EPERM;
a13165441d58b21 Jan Kara 2018-11-08 1703 if ((mode & FMODE_WRITE) || capable(CAP_SYS_ADMIN)) {
571fae6e290d64a Martijn Coenen 2020-05-13 1704 err = loop_set_status_old(lo, argp);
a13165441d58b21 Jan Kara 2018-11-08 1705 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1706 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1707 case LOOP_GET_STATUS:
571fae6e290d64a Martijn Coenen 2020-05-13 1708 return loop_get_status_old(lo, argp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1709 case LOOP_SET_STATUS64:
7035b5df3c071cc Dmitry Monakhov 2011-11-16 1710 err = -EPERM;
a13165441d58b21 Jan Kara 2018-11-08 1711 if ((mode & FMODE_WRITE) || capable(CAP_SYS_ADMIN)) {
571fae6e290d64a Martijn Coenen 2020-05-13 1712 err = loop_set_status64(lo, argp);
a13165441d58b21 Jan Kara 2018-11-08 1713 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1714 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1715 case LOOP_GET_STATUS64:
571fae6e290d64a Martijn Coenen 2020-05-13 1716 return loop_get_status64(lo, argp);
a13165441d58b21 Jan Kara 2018-11-08 1717 case LOOP_SET_CAPACITY:
ab1cb278bc70276 Ming Lei 2015-08-17 1718 case LOOP_SET_DIRECT_IO:
89e4fdecb51cf55 Omar Sandoval 2017-08-24 1719 case LOOP_SET_BLOCK_SIZE:
a13165441d58b21 Jan Kara 2018-11-08 1720 if (!(mode & FMODE_WRITE) && !capable(CAP_SYS_ADMIN))
a13165441d58b21 Jan Kara 2018-11-08 1721 return -EPERM;
a13165441d58b21 Jan Kara 2018-11-08 1722 /* Fall through */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1723 default:
a13165441d58b21 Jan Kara 2018-11-08 1724 err = lo_simple_ioctl(lo, cmd, arg);
a13165441d58b21 Jan Kara 2018-11-08 1725 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1726 }
f028f3b2f987ebc Nikanth Karthikesan 2009-03-24 1727
^1da177e4c3f415 Linus Torvalds 2005-04-16 1728 return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16 @1729 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1730

:::::: The code at line 1729 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip