Messages in this thread | | | Date | Wed, 31 May 2017 18:05:05 -0700 | From | Nick Desaulniers <> | Subject | Re: [PATCH v5] KVM: x86: avoid large stack allocations in em_fxrstor |
| |
On Wed, May 31, 2017 at 07:01:29AM -0400, Paolo Bonzini wrote: > > + size = offsetof(struct fxregs_state, xmm_space[16]); > This still has the same issue (it should be multiplied by 4).
I'm still misunderstanding the math here.
Why multiplied by four, in this case? 8 * 16 / 4 is used in other cases.
Also, previously Radim wrote:
>> + size = offsetof(struct fxregs_state, xmm_space[8]); > This should be the size of first 8 XMM registers, but xmm_space is of > type u32, so the correct size is > xmm_space[8 * 16/sizeof(*fx_state.xmm_space)].
So I think my calculation is off in xmm_offset still? Can we make use of well-named variables, in place of these constants? Otherwise the math is hard to follow.
> Thanks Nick for the patches and Radim for the reviews! > Paolo
Thanks for the code review!
| |