* arch/riscv/kernel/machine_kexec.c:164:1: sparse: void extern [addressable] [noreturn] [toplevel] machine_kexec( ... )
@ 2021-05-08 2:20 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-08 2:20 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5882 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Nick Kossifidis <mick@ics.forth.gr>
CC: Palmer Dabbelt <palmerdabbelt@google.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dd860052c99b1e088352bdd4fb7aef46f8d2ef47
commit: fba8a8674f68a0628abae470dfcfbcb4a0d7a79e RISC-V: Add kexec support
date: 11 days ago
:::::: branch date: 5 hours ago
:::::: commit date: 11 days ago
config: riscv-randconfig-s031-20210508 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fba8a8674f68a0628abae470dfcfbcb4a0d7a79e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fba8a8674f68a0628abae470dfcfbcb4a0d7a79e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
arch/riscv/kernel/machine_kexec.c:164:1: sparse: sparse: symbol 'machine_kexec' redeclared with different type (different modifiers):
>> arch/riscv/kernel/machine_kexec.c:164:1: sparse: void extern [addressable] [noreturn] [toplevel] machine_kexec( ... )
arch/riscv/kernel/machine_kexec.c: note: in included file:
include/linux/kexec.h:311:13: sparse: note: previously declared as:
>> include/linux/kexec.h:311:13: sparse: void extern [addressable] [toplevel] machine_kexec( ... )
vim +164 arch/riscv/kernel/machine_kexec.c
fba8a8674f68a0 Nick Kossifidis 2021-04-19 117
fba8a8674f68a0 Nick Kossifidis 2021-04-19 118
fba8a8674f68a0 Nick Kossifidis 2021-04-19 119 /*
fba8a8674f68a0 Nick Kossifidis 2021-04-19 120 * machine_shutdown - Prepare for a kexec reboot
fba8a8674f68a0 Nick Kossifidis 2021-04-19 121 *
fba8a8674f68a0 Nick Kossifidis 2021-04-19 122 * This function is called by kernel_kexec just before machine_kexec
fba8a8674f68a0 Nick Kossifidis 2021-04-19 123 * below. Its goal is to prepare the rest of the system (the other
fba8a8674f68a0 Nick Kossifidis 2021-04-19 124 * harts and possibly devices etc) for a kexec reboot.
fba8a8674f68a0 Nick Kossifidis 2021-04-19 125 */
fba8a8674f68a0 Nick Kossifidis 2021-04-19 @126 void machine_shutdown(void)
fba8a8674f68a0 Nick Kossifidis 2021-04-19 127 {
fba8a8674f68a0 Nick Kossifidis 2021-04-19 128 /*
fba8a8674f68a0 Nick Kossifidis 2021-04-19 129 * No more interrupts on this hart
fba8a8674f68a0 Nick Kossifidis 2021-04-19 130 * until we are back up.
fba8a8674f68a0 Nick Kossifidis 2021-04-19 131 */
fba8a8674f68a0 Nick Kossifidis 2021-04-19 132 local_irq_disable();
fba8a8674f68a0 Nick Kossifidis 2021-04-19 133
fba8a8674f68a0 Nick Kossifidis 2021-04-19 134 #if defined(CONFIG_HOTPLUG_CPU)
fba8a8674f68a0 Nick Kossifidis 2021-04-19 135 smp_shutdown_nonboot_cpus(smp_processor_id());
fba8a8674f68a0 Nick Kossifidis 2021-04-19 136 #endif
fba8a8674f68a0 Nick Kossifidis 2021-04-19 137 }
fba8a8674f68a0 Nick Kossifidis 2021-04-19 138
fba8a8674f68a0 Nick Kossifidis 2021-04-19 139 /**
fba8a8674f68a0 Nick Kossifidis 2021-04-19 140 * machine_crash_shutdown - Prepare to kexec after a kernel crash
fba8a8674f68a0 Nick Kossifidis 2021-04-19 141 *
fba8a8674f68a0 Nick Kossifidis 2021-04-19 142 * This function is called by crash_kexec just before machine_kexec
fba8a8674f68a0 Nick Kossifidis 2021-04-19 143 * below and its goal is similar to machine_shutdown, but in case of
fba8a8674f68a0 Nick Kossifidis 2021-04-19 144 * a kernel crash. Since we don't handle such cases yet, this function
fba8a8674f68a0 Nick Kossifidis 2021-04-19 145 * is empty.
fba8a8674f68a0 Nick Kossifidis 2021-04-19 146 */
fba8a8674f68a0 Nick Kossifidis 2021-04-19 147 void
fba8a8674f68a0 Nick Kossifidis 2021-04-19 148 machine_crash_shutdown(struct pt_regs *regs)
fba8a8674f68a0 Nick Kossifidis 2021-04-19 149 {
fba8a8674f68a0 Nick Kossifidis 2021-04-19 150 }
fba8a8674f68a0 Nick Kossifidis 2021-04-19 151
fba8a8674f68a0 Nick Kossifidis 2021-04-19 152 /**
fba8a8674f68a0 Nick Kossifidis 2021-04-19 153 * machine_kexec - Jump to the loaded kimage
fba8a8674f68a0 Nick Kossifidis 2021-04-19 154 *
fba8a8674f68a0 Nick Kossifidis 2021-04-19 155 * This function is called by kernel_kexec which is called by the
fba8a8674f68a0 Nick Kossifidis 2021-04-19 156 * reboot system call when the reboot cmd is LINUX_REBOOT_CMD_KEXEC,
fba8a8674f68a0 Nick Kossifidis 2021-04-19 157 * or by crash_kernel which is called by the kernel's arch-specific
fba8a8674f68a0 Nick Kossifidis 2021-04-19 158 * trap handler in case of a kernel panic. It's the final stage of
fba8a8674f68a0 Nick Kossifidis 2021-04-19 159 * the kexec process where the pre-loaded kimage is ready to be
fba8a8674f68a0 Nick Kossifidis 2021-04-19 160 * executed. We assume at this point that all other harts are
fba8a8674f68a0 Nick Kossifidis 2021-04-19 161 * suspended and this hart will be the new boot hart.
fba8a8674f68a0 Nick Kossifidis 2021-04-19 162 */
fba8a8674f68a0 Nick Kossifidis 2021-04-19 163 void __noreturn
fba8a8674f68a0 Nick Kossifidis 2021-04-19 @164 machine_kexec(struct kimage *image)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25176 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-08 2:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-08 2:20 arch/riscv/kernel/machine_kexec.c:164:1: sparse: void extern [addressable] [noreturn] [toplevel] machine_kexec( ... ) kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.