2021-06-10 01:09:19

by kernel test robot

[permalink] [raw]
Subject: fs/reiserfs/do_balan.c:1220:13: warning: stack frame size of 1408 bytes in function 'balance_leaf_new_nodes'

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cd1245d75ce93b8fd206f4b34eb58bcfe156d5e9
commit: 97e4910232fa1f81e806aa60c25a0450276d99a2 linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP*
date: 3 months ago
config: powerpc-randconfig-r031-20210610 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d2012d965d60c3258b3a69d024491698f8aec386)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=97e4910232fa1f81e806aa60c25a0450276d99a2
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 97e4910232fa1f81e806aa60c25a0450276d99a2
# 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: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

In file included from fs/reiserfs/do_balan.c:15:
In file included from fs/reiserfs/reiserfs.h:10:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:96:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/reiserfs/do_balan.c:15:
In file included from fs/reiserfs/reiserfs.h:10:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:98:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/reiserfs/do_balan.c:15:
In file included from fs/reiserfs/reiserfs.h:10:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:100:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/reiserfs/do_balan.c:15:
In file included from fs/reiserfs/reiserfs.h:10:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:102:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/reiserfs/do_balan.c:15:
In file included from fs/reiserfs/reiserfs.h:10:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:104:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> fs/reiserfs/do_balan.c:1220:13: warning: stack frame size of 1408 bytes in function 'balance_leaf_new_nodes' [-Wframe-larger-than=]
static void balance_leaf_new_nodes(struct tree_balance *tb,
^
8 warnings generated.


vim +/balance_leaf_new_nodes +1220 fs/reiserfs/do_balan.c

9d496552b95e95 Jeff Mahoney 2014-04-23 1218
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1219 /* Fill new nodes that appear in place of S[0] */
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 @1220 static void balance_leaf_new_nodes(struct tree_balance *tb,
27d0e5bc85f334 Jeff Mahoney 2014-08-04 1221 struct item_head * const ih,
27d0e5bc85f334 Jeff Mahoney 2014-08-04 1222 const char * const body,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1223 struct item_head *insert_key,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1224 struct buffer_head **insert_ptr,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1225 int flag)
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1226 {
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1227 int i;
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1228 for (i = tb->blknum[0] - 2; i >= 0; i--) {
b54b8c91841537 Jeff Mahoney 2014-04-23 1229 BUG_ON(flag != M_INSERT && flag != M_PASTE);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1230
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1231 RFALSE(!tb->snum[i],
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1232 "PAP-12200: snum[%d] == %d. Must be > 0", i,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1233 tb->snum[i]);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1234
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1235 /* here we shift from S to S_new nodes */
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1236
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1237 tb->S_new[i] = get_FEB(tb);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1238
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1239 /* initialized block type and tree level */
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1240 set_blkh_level(B_BLK_HEAD(tb->S_new[i]), DISK_LEAF_NODE_LEVEL);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1241
b54b8c91841537 Jeff Mahoney 2014-04-23 1242 if (flag == M_INSERT)
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1243 balance_leaf_new_nodes_insert(tb, ih, body, insert_key,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1244 insert_ptr, i);
b54b8c91841537 Jeff Mahoney 2014-04-23 1245 else /* M_PASTE */
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1246 balance_leaf_new_nodes_paste(tb, ih, body, insert_key,
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1247 insert_ptr, i);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1248
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1249 memcpy(insert_key + i, leaf_key(tb->S_new[i], 0), KEY_SIZE);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1250 insert_ptr[i] = tb->S_new[i];
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1251
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1252 RFALSE(!buffer_journaled(tb->S_new[i])
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1253 || buffer_journal_dirty(tb->S_new[i])
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1254 || buffer_dirty(tb->S_new[i]),
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1255 "PAP-12247: S_new[%d] : (%b)",
19ef1229bc2e24 Jan Kara 2014-06-11 1256 i, tb->S_new[i]);
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1257 }
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1258 }
0080e9f9d3ac71 Jeff Mahoney 2014-04-23 1259

:::::: The code at line 1220 was first introduced by commit
:::::: 0080e9f9d3ac717537dbd6db1fc8ef72ce0b9cc1 reiserfs: balance_leaf refactor, pull out balance_leaf{left, right, new_nodes, finish_node}

:::::: TO: Jeff Mahoney <[email protected]>
:::::: CC: Jan Kara <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (11.13 kB)
.config.gz (29.74 kB)
Download all attachments