diff options
author | Nick Desaulniers <nick.desaulniers@gmail.com> | 2017-05-30 20:08:38 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2017-06-01 11:23:12 +0200 |
commit | 9d643f63128bcec2b845fd0719a6b971b68c59cc (patch) | |
tree | cf7e7a41e34f85446d6a66c73dcbb5965b48cea3 /init | |
parent | 7461fbc46e9078d3143d396e2ad1c0c5bfd07b6f (diff) | |
download | lwn-9d643f63128bcec2b845fd0719a6b971b68c59cc.tar.gz lwn-9d643f63128bcec2b845fd0719a6b971b68c59cc.zip |
KVM: x86: avoid large stack allocations in em_fxrstor
em_fxstor previously called fxstor_fixup. Both created instances of
struct fxregs_state on the stack, which triggered the warning:
arch/x86/kvm/emulate.c:4018:12: warning: stack frame size of 1080 bytes
in function
'em_fxrstor' [-Wframe-larger-than=]
static int em_fxrstor(struct x86_emulate_ctxt *ctxt)
^
with CONFIG_FRAME_WARN set to 1024.
This patch does the fixup in em_fxstor now, avoiding one additional
struct fxregs_state, and now fxstor_fixup can be removed as it has no
other call sites.
Further, the calculation for offsets into xmm_space can be shared
between em_fxstor and em_fxsave.
Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
[Clean up calculation of offsets and fix it for 64-bit mode. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions