[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202203300903.AceWJDUu-lkp@intel.com>
Date: Wed, 30 Mar 2022 09:45:42 +0800
From: kernel test robot <lkp@...el.com>
To: Catalin Marinas <catalin.marinas@....com>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org, Will Deacon <will@...nel.org>,
Mark Brown <broonie@...nel.org>
Subject: arch/arm64/kernel/elfcore.c:25:12: warning: stack frame size (2144)
exceeds limit (2048) in 'mte_dump_tag_range'
Hi Catalin,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1c24a186398f59c80adb9a967486b65c1423a59d
commit: 6dd8b1a0b6cb3ed93d24110e02e67ff9d006610a arm64: mte: Dump the MTE tags in the core file
date: 6 weeks ago
config: arm64-randconfig-r002-20220330 (https://download.01.org/0day-ci/archive/20220330/202203300903.AceWJDUu-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6dd8b1a0b6cb3ed93d24110e02e67ff9d006610a
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6dd8b1a0b6cb3ed93d24110e02e67ff9d006610a
# 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=arm64 SHELL=/bin/bash arch/arm64/kernel/
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 >>):
>> arch/arm64/kernel/elfcore.c:25:12: warning: stack frame size (2144) exceeds limit (2048) in 'mte_dump_tag_range' [-Wframe-larger-than]
static int mte_dump_tag_range(struct coredump_params *cprm,
^
1 warning generated.
vim +/mte_dump_tag_range +25 arch/arm64/kernel/elfcore.c
23
24 /* Derived from dump_user_range(); start/end must be page-aligned */
> 25 static int mte_dump_tag_range(struct coredump_params *cprm,
26 unsigned long start, unsigned long end)
27 {
28 unsigned long addr;
29
30 for (addr = start; addr < end; addr += PAGE_SIZE) {
31 char tags[MTE_PAGE_TAG_STORAGE];
32 struct page *page = get_dump_page(addr);
33
34 /*
35 * get_dump_page() returns NULL when encountering an empty
36 * page table entry that would otherwise have been filled with
37 * the zero page. Skip the equivalent tag dump which would
38 * have been all zeros.
39 */
40 if (!page) {
41 dump_skip(cprm, MTE_PAGE_TAG_STORAGE);
42 continue;
43 }
44
45 /*
46 * Pages mapped in user space as !pte_access_permitted() (e.g.
47 * PROT_EXEC only) may not have the PG_mte_tagged flag set.
48 */
49 if (!test_bit(PG_mte_tagged, &page->flags)) {
50 put_page(page);
51 dump_skip(cprm, MTE_PAGE_TAG_STORAGE);
52 continue;
53 }
54
55 mte_save_page_tags(page_address(page), tags);
56 put_page(page);
57 if (!dump_emit(cprm, tags, MTE_PAGE_TAG_STORAGE))
58 return 0;
59 }
60
61 return 1;
62 }
63
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists