kernel test robot <lkp@xxxxxxxxx> writes: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.15.y > head: baefa2315cb1371486f6661a628e96fa3336f573 > commit: cb188e07105f2216f5efbefac95df4b6ce266906 [5373/8464] KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall > config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220716/202207161843.WnHPjB0l-lkp@xxxxxxxxx/config) > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 07022e6cf9b5b3baa642be53d0b3c3f1c403dbfd) > 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 > # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=cb188e07105f2216f5efbefac95df4b6ce266906 > git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > git fetch --no-tags linux-stable-rc linux-5.15.y > git checkout cb188e07105f2216f5efbefac95df4b6ce266906 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kvm/ > > If you fix the issue, kindly add following tag where applicable > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All warnings (new ones prefixed by >>): > >>> arch/x86/kvm/hyperv.c:2185:5: warning: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall' [-Wframe-larger-than] > int kvm_hv_hypercall(struct kvm_vcpu *vcpu) > ^ > 1 warning generated. > > > 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; That's a bit weird: struct kvm_hv_hcall is 144 bytes only so this is very, very far from 1024. The referred commit (cb188e07105f) also doesn't add any on-stack allocations to kvm_hv_hypercall() directly, however, it leaves only once call site for kvm_hv_send_ipi() and the compiler may have switched to inlining it. Assuming that's the case, I'm completely clueless about why such potentially dangerous 'optimization' make any sense. In any case, there's a pending patch: https://lore.kernel.org/kvm/20220714134929.1125828-13-vkuznets@xxxxxxxxxx/ which is supposed to help here. > 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