Re: [PATCH v3 06/10] x86/fpu/xstate: Initialize guest perm with fpu_guest_cfg

Dave Hansen
2025-03-07T18:13:56Z

On 3/7/25 08:41, Chao Gao wrote:
> From: Yang Weijiang <weijiang.yang@intel.com>
>
> Use the new fpu_guest_cfg to initialize guest permissions.

Background, please.

What are the guest permissions currently set to? Why does it need to change?

> Note fpu_guest_cfg and fpu_kernel_cfg remain the same for now. So there
> is no functional change.
>
> Signed-off-by: Yang Weijiang <weijiang.yang@intel.com>
> [Gao Chao: Extrace this from the previous patch ]
> Signed-off-by: Chao Gao <chao.gao@intel.com>
> ---
> arch/x86/kernel/fpu/core.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
> index b0c1ef40d105..d7ae684adbad 100644
> --- a/arch/x86/kernel/fpu/core.c
> +++ b/arch/x86/kernel/fpu/core.c
> @@ -534,8 +534,15 @@ void fpstate_reset(struct fpu *fpu)
> fpu->perm.__state_perm = fpu_kernel_cfg.default_features;
> fpu->perm.__state_size = fpu_kernel_cfg.default_size;
> fpu->perm.__user_state_size = fpu_user_cfg.default_size;
> - /* Same defaults for guests */
> - fpu->guest_perm = fpu->perm;
> +
> + /* Guest permission settings */
> + fpu->guest_perm.__state_perm = fpu_guest_cfg.default_features;
> + fpu->guest_perm.__state_size = fpu_guest_cfg.default_size;
> + /*
> + * Set guest's __user_state_size to fpu_user_cfg.default_size so that
> + * existing uAPIs can still work.
> + */

I suspect that readers here will understand that this line:

> + fpu->guest_perm.__user_state_size = fpu_user_cfg.default_size;
> }

means "Set guest's __user_state_size to fpu_user_cfg.default_size". The
comment basically just literally restates what the code does. That part
of the comment doesn't add value.