Re: [PATCH v5 09/12] arm64: traps: Shuffle code to eliminate forward declarations

From: kbuild test robot
Date: Fri Jan 24 2020 - 18:01:16 EST


Hi Mark,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on asm-generic/master]
[also build test ERROR on kvmarm/next linus/master v5.5-rc7]
[cannot apply to arm64/for-next/core arm-perf/for-next/perf next-20200124]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Mark-Brown/arm64-ARMv8-5-A-Branch-Target-Identification-support/20200124-203746
base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master
config: arm64-randconfig-a001-20200124 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm64

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

All errors (new ones prefixed by >>):

arch/arm64/kernel/traps.c: In function 'do_sysinstr':
>> arch/arm64/kernel/traps.c:728:14: error: 'sys64_hooks' undeclared (first use in this function); did you mean 'sys64_hook'?
for (hook = sys64_hooks; hook->handler; hook++)
^~~~~~~~~~~
sys64_hook
arch/arm64/kernel/traps.c:728:14: note: each undeclared identifier is reported only once for each function it appears in
>> arch/arm64/kernel/traps.c:728:31: error: dereferencing pointer to incomplete type 'const struct sys64_hook'
for (hook = sys64_hooks; hook->handler; hook++)
^~
>> arch/arm64/kernel/traps.c:728:46: error: increment of pointer to an incomplete type 'const struct sys64_hook'
for (hook = sys64_hooks; hook->handler; hook++)
^~

vim +728 arch/arm64/kernel/traps.c

70c63cdfd6ee61 Marc Zyngier 2018-09-27 723
afa7c0e5b965cd James Morse 2019-10-25 724 void do_sysinstr(unsigned int esr, struct pt_regs *regs)
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 725 {
37143dcc44f8f3 Mark Rutland 2019-08-13 726 const struct sys64_hook *hook;
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 727
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 @728 for (hook = sys64_hooks; hook->handler; hook++)
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 729 if ((hook->esr_mask & esr) == hook->esr_val) {
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 730 hook->handler(esr, regs);
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 731 return;
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 732 }
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 733
49f6cba617fef4 Mark Rutland 2017-01-27 734 /*
49f6cba617fef4 Mark Rutland 2017-01-27 735 * New SYS instructions may previously have been undefined at EL0. Fall
49f6cba617fef4 Mark Rutland 2017-01-27 736 * back to our usual undefined instruction handler so that we handle
49f6cba617fef4 Mark Rutland 2017-01-27 737 * these consistently.
49f6cba617fef4 Mark Rutland 2017-01-27 738 */
49f6cba617fef4 Mark Rutland 2017-01-27 739 do_undefinstr(regs);
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 740 }
b6e43c0e3129ff James Morse 2019-10-25 741 NOKPROBE_SYMBOL(do_sysinstr);
9dbd5bb25c56e3 Suzuki K Poulose 2016-09-09 742

:::::: The code at line 728 was first introduced by commit
:::::: 9dbd5bb25c56e35e6b4c34d968689a1ded850924 arm64: Refactor sysinstr exception handling

:::::: TO: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
:::::: CC: Will Deacon <will.deacon@xxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip