mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 16:29:25 -04:00
x86/fpu: Drop @perm from guest pseudo FPU container
Remove @perm from the guest pseudo FPU container. The field is initialized during allocation and never used later. Rename fpu_init_guest_permissions() to show that its sole purpose is to lock down guest permissions. Suggested-by: Maxim Levitsky <mlevitsk@redhat.com> Signed-off-by: Chao Gao <chao.gao@intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Chang S. Bae <chang.seok.bae@intel.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Eric Biggers <ebiggers@google.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Kees Cook <kees@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mitchell Levy <levymitchell0@gmail.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Samuel Holland <samuel.holland@sifive.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Link: https://lore.kernel.org/kvm/af972fe5981b9e7101b64de43c7be0a8cc165323.camel@redhat.com/ Link: https://lore.kernel.org/r/20250506093740.2864458-3-chao.gao@intel.com
This commit is contained in:
@@ -535,13 +535,6 @@ struct fpu_guest {
|
||||
*/
|
||||
u64 xfeatures;
|
||||
|
||||
/*
|
||||
* @perm: xfeature bitmap of features which are
|
||||
* permitted to be enabled for the guest
|
||||
* vCPU.
|
||||
*/
|
||||
u64 perm;
|
||||
|
||||
/*
|
||||
* @xfd_err: Save the guest value.
|
||||
*/
|
||||
|
||||
@@ -212,7 +212,7 @@ void fpu_reset_from_exception_fixup(void)
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
static void __fpstate_reset(struct fpstate *fpstate, u64 xfd);
|
||||
|
||||
static void fpu_init_guest_permissions(struct fpu_guest *gfpu)
|
||||
static void fpu_lock_guest_permissions(void)
|
||||
{
|
||||
struct fpu_state_perm *fpuperm;
|
||||
u64 perm;
|
||||
@@ -228,8 +228,6 @@ static void fpu_init_guest_permissions(struct fpu_guest *gfpu)
|
||||
WRITE_ONCE(fpuperm->__state_perm, perm | FPU_GUEST_PERM_LOCKED);
|
||||
|
||||
spin_unlock_irq(¤t->sighand->siglock);
|
||||
|
||||
gfpu->perm = perm & ~FPU_GUEST_PERM_LOCKED;
|
||||
}
|
||||
|
||||
bool fpu_alloc_guest_fpstate(struct fpu_guest *gfpu)
|
||||
@@ -250,7 +248,6 @@ bool fpu_alloc_guest_fpstate(struct fpu_guest *gfpu)
|
||||
|
||||
gfpu->fpstate = fpstate;
|
||||
gfpu->xfeatures = fpu_kernel_cfg.default_features;
|
||||
gfpu->perm = fpu_kernel_cfg.default_features;
|
||||
|
||||
/*
|
||||
* KVM sets the FP+SSE bits in the XSAVE header when copying FPU state
|
||||
@@ -265,7 +262,7 @@ bool fpu_alloc_guest_fpstate(struct fpu_guest *gfpu)
|
||||
if (WARN_ON_ONCE(fpu_user_cfg.default_size > gfpu->uabi_size))
|
||||
gfpu->uabi_size = fpu_user_cfg.default_size;
|
||||
|
||||
fpu_init_guest_permissions(gfpu);
|
||||
fpu_lock_guest_permissions();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user