Hi Tong,
FYI, the error/warning still remains.
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: c7d4c1fd91ab4a6d2620497921a9c6bf54650ab8
commit: 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9 [8714/10489] riscv: add VMAP_STACK
overflow detection
config: riscv-randconfig-r021-20210617 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> arch/riscv/kernel/traps.c:210:26: warning: no previous prototype
for function 'get_overflow_stack' [-Wmissing-prototypes]
asmlinkage
unsigned long get_overflow_stack(void)
^
arch/riscv/kernel/traps.c:210:12: note: declare 'static' if the function is not
intended to be used outside of this translation unit
asmlinkage unsigned long get_overflow_stack(void)
^
static
> arch/riscv/kernel/traps.c:216:17: warning: no previous prototype
for function 'handle_bad_stack' [-Wmissing-prototypes]
asmlinkage void
handle_bad_stack(struct pt_regs *regs)
^
arch/riscv/kernel/traps.c:216:12: note: declare 'static' if the function is not
intended to be used outside of this translation unit
asmlinkage void handle_bad_stack(struct pt_regs *regs)
^
static
2 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LOCKDEP
Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER ||
MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
Selected by
- DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
vim +/get_overflow_stack +210 arch/riscv/kernel/traps.c
201
202 #ifdef CONFIG_VMAP_STACK
203 DEFINE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack)
204 __aligned(16);
205 /*
206 * shadow stack, handled_ kernel_ stack_ overflow(in kernel/entry.S) is used
207 * to get per-cpu overflow stack(get_overflow_stack).
208 */
209 long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE/sizeof(long)];
210 asmlinkage unsigned long get_overflow_stack(void)
211 {
212 return (unsigned long)this_cpu_ptr(overflow_stack) +
213 OVERFLOW_STACK_SIZE;
214 }
215
216 asmlinkage void handle_bad_stack(struct pt_regs *regs)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org