[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200424151049.GE30013@linux.intel.com>
Date: Fri, 24 Apr 2020 08:10:49 -0700
From: Sean Christopherson <sean.j.christopherson@...el.com>
To: Yang Weijiang <weijiang.yang@...el.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
pbonzini@...hat.com, jmattson@...gle.com,
yu.c.zhang@...ux.intel.com
Subject: Re: [PATCH v11 7/9] KVM: X86: Add userspace access interface for CET
MSRs
On Fri, Apr 24, 2020 at 11:02:46PM +0800, Yang Weijiang wrote:
> On Thu, Apr 23, 2020 at 11:14:06AM -0700, Sean Christopherson wrote:
> > > + case MSR_IA32_INT_SSP_TAB:
> > > + if (!cet_check_ctl_msr_access(vcpu, msr_info))
> > > + return 1;
> > > + if (!is_64_bit_mode(vcpu))
> >
> > This is wrong, the SDM explicitly calls out the !64 case:
> >
> > IA32_INTERRUPT_SSP_TABLE_ADDR (64 bits; 32 bits on processors that do not
> > support Intel 64 architecture).
> So the check is also unnecessary as it's natual size?
It still needs a canonical check.
Note, KVM diverges from the SDM for canonical checks in that it performs
canonical checks even when the virtual CPU doesn't support 64-bit and/or
the host kernel is a 32-bit kernel. This is intentional because the
underlying hardware will still enforce the checks, i.e. KVM needs to make
the physical CPU happy, and the number of people running KVM on hardware
without 64-bit support can probably be counted on one hand.
Powered by blists - more mailing lists