[PATCH] x86/fpu/xstate: calculate the number by sizeof and offsetof

From: Yejune Deng
Date: Wed Jan 20 2021 - 01:46:52 EST


In fpstate_sanitize_xstate(), use memset and offsetof instead of '= 0',
and use sizeof instead of a constant.

Signed-off-by: Yejune Deng <yejune.deng@xxxxxxxxx>
---
arch/x86/kernel/fpu/xstate.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
index 5d8047441a0a..2e75630c86e9 100644
--- a/arch/x86/kernel/fpu/xstate.c
+++ b/arch/x86/kernel/fpu/xstate.c
@@ -161,20 +161,16 @@ void fpstate_sanitize_xstate(struct fpu *fpu)
* FP is in init state
*/
if (!(xfeatures & XFEATURE_MASK_FP)) {
+ memset(fx, 0, offsetof(struct fxregs_state, mxcsr));
+ memset(fx->st_space, 0, sizeof(fx->st_space));
fx->cwd = 0x37f;
- fx->swd = 0;
- fx->twd = 0;
- fx->fop = 0;
- fx->rip = 0;
- fx->rdp = 0;
- memset(&fx->st_space[0], 0, 128);
}

/*
* SSE is in init state
*/
if (!(xfeatures & XFEATURE_MASK_SSE))
- memset(&fx->xmm_space[0], 0, 256);
+ memset(fx->xmm_space, 0, sizeof(fx->xmm_space));

/*
* First two features are FPU and SSE, which above we handled
--
2.29.0