tree:
https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git x86/entry
head: da0d0553b69e8159a4f25f7981d752e20c22f2ab
commit: 096b735813d5fef5b6b0e80e7585fba57c55e05b [93/119] x86/entry: Switch XEN/PV
hypercall entry to IDTENTRY
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
3393cc4cebf9969db94dc424b7a2b6195589c33b)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 096b735813d5fef5b6b0e80e7585fba57c55e05b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
arch/x86/entry/common.c:272:24: warning: no previous prototype for function
'prepare_exit_to_usermode' [-Wmissing-prototypes]
__visible noinstr void prepare_exit_to_usermode(struct pt_regs *regs)
^
arch/x86/entry/common.c:272:19: note: declare 'static' if the function is not
intended to be used outside of this translation unit
__visible noinstr void prepare_exit_to_usermode(struct pt_regs *regs)
^
static
arch/x86/entry/common.c:334:24: warning: no previous prototype for function
'syscall_return_slowpath' [-Wmissing-prototypes]
__visible noinstr void syscall_return_slowpath(struct pt_regs *regs)
^
arch/x86/entry/common.c:334:19: note: declare 'static' if the function is not
intended to be used outside of this translation unit
__visible noinstr void syscall_return_slowpath(struct pt_regs *regs)
^
static
> arch/x86/entry/common.c:707:2: error: unknown type name
'boot'; did you mean 'bool'?
boot inhcall =
__this_cpu_read(xen_in_preemptible_hcall);
^~~~
bool
include/linux/types.h:30:17: note: 'bool' declared here
typedef _Bool bool;
^
> arch/x86/entry/common.c:731:24: warning: no previous prototype
for function 'xen_pv_evtchn_do_upcall' [-Wmissing-prototypes]
__visible
noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)
^
arch/x86/entry/common.c:731:19: note: declare 'static' if the function is not
intended to be used outside of this translation unit
__visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)
^
static
3 warnings and 1 error generated.
vim +707 arch/x86/entry/common.c
700
701 /*
702 * In case of scheduling the flag must be cleared and restored after
703 * returning from schedule as the task might move to a different CPU.
704 */
705 static __always_inline bool get_and_clear_inhcall(void)
706 {
707 boot inhcall = __this_cpu_read(xen_in_preemptible_hcall);
708
709 __this_cpu_write(xen_in_preemptible_hcall, false);
710 }
711
712 static __always_inline void restore_inhcall(bool inhcall)
713 {
714 __this_cpu_write(xen_in_preemptible_hcall, inhcall);
715 }
716 #else
717 static __always_inline bool get_and_clear_inhcall(void) { return false; }
718 static __always_inline void restore_inhcall(bool inhcall) { }
719 #endif
720
721 static void __xen_pv_evtchn_do_upcall(void)
722 {
723 irq_enter_rcu();
724 inc_irq_stat(irq_hv_callback_count);
725
726 xen_hvm_evtchn_do_upcall();
727
728 irq_exit_rcu();
729 }
730
731 __visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs
*regs)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org