kernel test robot <lkp@xxxxxxxxx> writes: > Hi Vitaly, > > First bad commit (maybe != root cause): > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.y > head: d54cfc420586425d418a53871290cc4a59d33501 > commit: cb188e07105f2216f5efbefac95df4b6ce266906 [55/9999] KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall > config: i386-buildonly-randconfig-r006-20230708 (https://download.01.org/0day-ci/archive/20230708/202307080326.zDp7E3o0-lkp@xxxxxxxxx/config) > compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a) > reproduce: (https://download.01.org/0day-ci/archive/20230708/202307080326.zDp7E3o0-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/202307080326.zDp7E3o0-lkp@xxxxxxxxx/ > > All errors (new ones prefixed by >>): > >>> arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall' [-Werror,-Wframe-larger-than] > int kvm_hv_hypercall(struct kvm_vcpu *vcpu) > ^ > 1 error generated. (sorry for delayed reply) This used to be a warning (without CONFIG_KVM_WERROR I guess?) :-) E.g. https://lore.kernel.org/kvm/87zgg6sza8.fsf@xxxxxxxxxx/#t where Nathan explained LLVM's behavior: https://lore.kernel.org/kvm/Yvp87jlVWg0e376v@dev-arch.thelio-3990X/ This was 'fixed' upstream with commit 7d5e88d301f84a7b64602dbe3640f288223095ea Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Nov 1 15:53:56 2022 +0100 KVM: x86: hyper-v: Use preallocated buffer in 'struct kvm_vcpu_hv' instead of on-stack 'sparse_banks' and personally, I'm not against backporting it to 5.15.y but I seriously doubt it is worth the hassle (i386 KVM + llvm + CONFIG_KVM_WERROR is likely an impossible combo). Also, there seems to be another build problem with CONFIG_KVM_WERROR I met with clan-16 and the same config: ../arch/x86/kvm/x86.c:2315:19: error: unused function 'gtod_is_based_on_tsc' [-Werror,-Wunused-function] static inline int gtod_is_based_on_tsc(int mode) TL;DR: Let's ignore this for 5.15, not worth fixing IMO. Cc: kvm@ to check if anyone thinks differently. > > > vim +/kvm_hv_hypercall +2185 arch/x86/kvm/hyperv.c > > 4ad81a91119df7 Vitaly Kuznetsov 2021-05-21 2184 > e83d58874ba1de Andrey Smetanin 2015-07-03 @2185 int kvm_hv_hypercall(struct kvm_vcpu *vcpu) > e83d58874ba1de Andrey Smetanin 2015-07-03 2186 { > 4e62aa96d6e55c Vitaly Kuznetsov 2021-07-30 2187 struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu); > bd38b32053eb1c Siddharth Chandrasekaran 2021-05-26 2188 struct kvm_hv_hcall hc; > bd38b32053eb1c Siddharth Chandrasekaran 2021-05-26 2189 u64 ret = HV_STATUS_SUCCESS; > e83d58874ba1de Andrey Smetanin 2015-07-03 2190 > e83d58874ba1de Andrey Smetanin 2015-07-03 2191 /* > e83d58874ba1de Andrey Smetanin 2015-07-03 2192 * hypercall generates UD from non zero cpl and real mode > e83d58874ba1de Andrey Smetanin 2015-07-03 2193 * per HYPER-V spec > e83d58874ba1de Andrey Smetanin 2015-07-03 2194 */ > b3646477d458fb Jason Baron 2021-01-14 2195 if (static_call(kvm_x86_get_cpl)(vcpu) != 0 || !is_protmode(vcpu)) { > e83d58874ba1de Andrey Smetanin 2015-07-03 2196 kvm_queue_exception(vcpu, UD_VECTOR); > 0d9c055eaaf41b Andrey Smetanin 2016-02-11 2197 return 1; > e83d58874ba1de Andrey Smetanin 2015-07-03 2198 } > e83d58874ba1de Andrey Smetanin 2015-07-03 2199 > > :::::: The code at line 2185 was first introduced by commit > :::::: e83d58874ba1de74c13d3c6b05f95a023c860d25 kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file > > :::::: TO: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> > :::::: CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> -- Vitaly