Re: [PATCH 3/5] MIPS: Fix set_uncached_handler for ebase in XKPHYS

From: kernel test robot
Date: Tue Oct 24 2023 - 22:48:49 EST


Hi Jiaxun,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.6-rc7 next-20231024]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Jiaxun-Yang/MIPS-Export-higher-highest-relocation-functions-in-uasm/20231024-034657
base: linus/master
patch link: https://lore.kernel.org/r/20231023191400.170052-4-jiaxun.yang%40flygoat.com
patch subject: [PATCH 3/5] MIPS: Fix set_uncached_handler for ebase in XKPHYS
config: mips-loongson1c_defconfig (https://download.01.org/0day-ci/archive/20231025/202310251032.BvEIZ6Xk-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231025/202310251032.BvEIZ6Xk-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310251032.BvEIZ6Xk-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

1402 | asmlinkage void do_cpu(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1402:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1402 | asmlinkage void do_cpu(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1507:17: warning: no previous prototype for function 'do_msa_fpe' [-Wmissing-prototypes]
1507 | asmlinkage void do_msa_fpe(struct pt_regs *regs, unsigned int msacsr)
| ^
arch/mips/kernel/traps.c:1507:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1507 | asmlinkage void do_msa_fpe(struct pt_regs *regs, unsigned int msacsr)
| ^
| static
arch/mips/kernel/traps.c:1527:17: warning: no previous prototype for function 'do_msa' [-Wmissing-prototypes]
1527 | asmlinkage void do_msa(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1527:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1527 | asmlinkage void do_msa(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1548:17: warning: no previous prototype for function 'do_mdmx' [-Wmissing-prototypes]
1548 | asmlinkage void do_mdmx(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1548:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1548 | asmlinkage void do_mdmx(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1560:17: warning: no previous prototype for function 'do_watch' [-Wmissing-prototypes]
1560 | asmlinkage void do_watch(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1560:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1560 | asmlinkage void do_watch(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1590:17: warning: variable 'prev_state' set but not used [-Wunused-but-set-variable]
1590 | enum ctx_state prev_state;
| ^
arch/mips/kernel/traps.c:1587:17: warning: no previous prototype for function 'do_mcheck' [-Wmissing-prototypes]
1587 | asmlinkage void do_mcheck(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1587:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1587 | asmlinkage void do_mcheck(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1612:17: warning: no previous prototype for function 'do_mt' [-Wmissing-prototypes]
1612 | asmlinkage void do_mt(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1612:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1612 | asmlinkage void do_mt(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1648:17: warning: no previous prototype for function 'do_dsp' [-Wmissing-prototypes]
1648 | asmlinkage void do_dsp(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1648:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1648 | asmlinkage void do_dsp(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1656:17: warning: no previous prototype for function 'do_reserved' [-Wmissing-prototypes]
1656 | asmlinkage void do_reserved(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1656:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1656 | asmlinkage void do_reserved(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1832:17: warning: no previous prototype for function 'cache_parity_error' [-Wmissing-prototypes]
1832 | asmlinkage void cache_parity_error(void)
| ^
arch/mips/kernel/traps.c:1832:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1832 | asmlinkage void cache_parity_error(void)
| ^
| static
arch/mips/kernel/traps.c:1880:17: warning: no previous prototype for function 'do_ftlb' [-Wmissing-prototypes]
1880 | asmlinkage void do_ftlb(void)
| ^
arch/mips/kernel/traps.c:1880:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1880 | asmlinkage void do_ftlb(void)
| ^
| static
arch/mips/kernel/traps.c:1909:17: warning: no previous prototype for function 'do_gsexc' [-Wmissing-prototypes]
1909 | asmlinkage void do_gsexc(struct pt_regs *regs, u32 diag1)
| ^
arch/mips/kernel/traps.c:1909:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
1909 | asmlinkage void do_gsexc(struct pt_regs *regs, u32 diag1)
| ^
| static
arch/mips/kernel/traps.c:1944:6: warning: no previous prototype for function 'ejtag_exception_handler' [-Wmissing-prototypes]
1944 | void ejtag_exception_handler(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1944:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1944 | void ejtag_exception_handler(struct pt_regs *regs)
| ^
| static
arch/mips/kernel/traps.c:1989:17: warning: no previous prototype for function 'nmi_exception_handler' [-Wmissing-prototypes]
1989 | void __noreturn nmi_exception_handler(struct pt_regs *regs)
| ^
arch/mips/kernel/traps.c:1989:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1989 | void __noreturn nmi_exception_handler(struct pt_regs *regs)
| ^
| static
>> arch/mips/kernel/traps.c:2349:33: error: call to undeclared function 'TO_UNCAC'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2349 | unsigned long uncached_ebase = TO_UNCAC(__pa(ebase));
| ^
22 warnings and 1 error generated.


vim +/TO_UNCAC +2349 arch/mips/kernel/traps.c

2337
2338 static const char panic_null_cerr[] =
2339 "Trying to set NULL cache error exception handler\n";
2340
2341 /*
2342 * Install uncached CPU exception handler.
2343 * This is suitable only for the cache error exception which is the only
2344 * exception handler that is being run uncached.
2345 */
2346 void set_uncached_handler(unsigned long offset, void *addr,
2347 unsigned long size)
2348 {
> 2349 unsigned long uncached_ebase = TO_UNCAC(__pa(ebase));
2350
2351 if (!addr)
2352 panic(panic_null_cerr);
2353
2354 memcpy((void *)(uncached_ebase + offset), addr, size);
2355 }
2356

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki