On 3/7/2025 6:49 PM, Chao Gao wrote:
On Fri, Mar 07, 2025 at 01:37:15PM -0800, Chang S. Bae wrote:
On 3/7/2025 8:41 AM, Chao Gao wrote:
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index 6166a928d3f5..adc34914634e 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -218,7 +218,7 @@ bool fpu_alloc_guest_fpstate(struct fpu_guest *gfpu)
struct fpstate *fpstate;
unsigned int size;
- size = fpu_user_cfg.default_size + ALIGN(offsetof(struct fpstate, regs), 64);
+ size = fpu_kernel_cfg.default_size + ALIGN(offsetof(struct fpstate, regs), 64);
fpstate = vzalloc(size);
if (!fpstate)
return false;
BTW, did you ever base this series on the tip/master branch? The fix has
already been merged there:
1937e18cc3cf ("x86/fpu: Fix guest FPU state buffer allocation size")
Thanks for the information. I will remove this patch.
But, I think there is a fallout that someone should follow up:
The merged patch ensures size consistency between
fpu_alloc_guest_fpstate() and fpstate_realloc(), maintaining a
consistent reference to the kernel buffer size. However, within
fpu_alloc_guest_fpstate(), fpu_guest->xfeatures should also be adjusted
accordingly for consistency. Instead of referencing fpu_user_cfg, it
should reference fpu_kernel_cfg.
Thanks,
CHang