* [stable:linux-5.15.y 55/9999] arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall'
@ 2023-07-07 19:08 kernel test robot
2023-07-10 13:13 ` Vitaly Kuznetsov
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2023-07-07 19:08 UTC (permalink / raw)
To: Vitaly Kuznetsov; +Cc: llvm, oe-kbuild-all, Greg Kroah-Hartman, Paolo Bonzini
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@intel.com/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@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307080326.zDp7E3o0-lkp@intel.com/
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.
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@virtuozzo.com>
:::::: CC: Paolo Bonzini <pbonzini@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [stable:linux-5.15.y 55/9999] arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall'
2023-07-07 19:08 [stable:linux-5.15.y 55/9999] arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall' kernel test robot
@ 2023-07-10 13:13 ` Vitaly Kuznetsov
2023-07-12 16:53 ` Sean Christopherson
0 siblings, 1 reply; 3+ messages in thread
From: Vitaly Kuznetsov @ 2023-07-10 13:13 UTC (permalink / raw)
To: kernel test robot
Cc: llvm, oe-kbuild-all, Greg Kroah-Hartman, Paolo Bonzini, kvm
kernel test robot <lkp@intel.com> 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@intel.com/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@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202307080326.zDp7E3o0-lkp@intel.com/
>
> 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@redhat.com/#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@redhat.com>
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@virtuozzo.com>
> :::::: CC: Paolo Bonzini <pbonzini@redhat.com>
--
Vitaly
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [stable:linux-5.15.y 55/9999] arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall'
2023-07-10 13:13 ` Vitaly Kuznetsov
@ 2023-07-12 16:53 ` Sean Christopherson
0 siblings, 0 replies; 3+ messages in thread
From: Sean Christopherson @ 2023-07-12 16:53 UTC (permalink / raw)
To: Vitaly Kuznetsov
Cc: kernel test robot, llvm, oe-kbuild-all, Greg Kroah-Hartman,
Paolo Bonzini, kvm
On Mon, Jul 10, 2023, Vitaly Kuznetsov wrote:
> kernel test robot <lkp@intel.com> 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@intel.com/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@intel.com/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@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202307080326.zDp7E3o0-lkp@intel.com/
> >
> > 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@redhat.com/#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@redhat.com>
> 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.
Ya, ignore it. KVM_WERROR is off-by-default for 32-bit builds, and all evidence
suggests that no one uses KVM with 32-bit kernels these days, so I can't imagine
this negatively affects anyone.
config KVM_WERROR
bool "Compile KVM with -Werror"
# KASAN may cause the build to fail due to larger frames
default y if X86_64 && !KASAN
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-07-12 16:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-07 19:08 [stable:linux-5.15.y 55/9999] arch/x86/kvm/hyperv.c:2185:5: error: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall' kernel test robot
2023-07-10 13:13 ` Vitaly Kuznetsov
2023-07-12 16:53 ` Sean Christopherson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox