Message ID | 20190214040858.15975-1-xiaoyao.li@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kvm: vmx: Fix entry nubmer check for add_atomic_switch_msr() | expand |
On 14/02/19 05:08, Xiaoyao Li wrote: > Commit ca83b4a7f2d068da79a0 ("x86/KVM/VMX: Add find_msr() helper function") > introduces the helper function find_msr(), which returns -ENOENT when > not find the msr in vmx->msr_autoload.guest/host. Correct checking contion > of no more available entry in vmx->msr_autoload. > > Fixes: ca83b4a7f2d0 ("x86/KVM/VMX: Add find_msr() helper function") > Signed-off-by: Xiaoyao Li <xiaoyao.li@linux.intel.com> > --- > arch/x86/kvm/vmx/vmx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 95d618045001..1aaef2d536bd 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -863,7 +863,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr, > if (!entry_only) > j = find_msr(&m->host, msr); > > - if (i == NR_AUTOLOAD_MSRS || j == NR_AUTOLOAD_MSRS) { > + if ((i < 0 && m->guest.nr == NR_AUTOLOAD_MSRS) || > + (j < 0 && m->host.nr == NR_AUTOLOAD_MSRS)) { > printk_once(KERN_WARNING "Not enough msr switch entries. " > "Can't add msr %x\n", msr); > return; > Queued, thanks. Paolo
On Thu, Feb 14, 2019 at 12:08:58PM +0800, Xiaoyao Li wrote: > Commit ca83b4a7f2d068da79a0 ("x86/KVM/VMX: Add find_msr() helper function") > introduces the helper function find_msr(), which returns -ENOENT when > not find the msr in vmx->msr_autoload.guest/host. Correct checking contion s/not find/cannot find/ s/contion/condition/ ? > of no more available entry in vmx->msr_autoload. > > Fixes: ca83b4a7f2d0 ("x86/KVM/VMX: Add find_msr() helper function") > Signed-off-by: Xiaoyao Li <xiaoyao.li@linux.intel.com> > --- > arch/x86/kvm/vmx/vmx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 95d618045001..1aaef2d536bd 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -863,7 +863,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr, > if (!entry_only) > j = find_msr(&m->host, msr); > > - if (i == NR_AUTOLOAD_MSRS || j == NR_AUTOLOAD_MSRS) { > + if ((i < 0 && m->guest.nr == NR_AUTOLOAD_MSRS) || > + (j < 0 && m->host.nr == NR_AUTOLOAD_MSRS)) { > printk_once(KERN_WARNING "Not enough msr switch entries. " > "Can't add msr %x\n", msr); > return; > -- > 2.19.1 >
On Fri, 2019-02-15 at 11:46 -0500, Konrad Rzeszutek Wilk wrote: > On Thu, Feb 14, 2019 at 12:08:58PM +0800, Xiaoyao Li wrote: > > Commit ca83b4a7f2d068da79a0 ("x86/KVM/VMX: Add find_msr() helper function") > > introduces the helper function find_msr(), which returns -ENOENT when > > not find the msr in vmx->msr_autoload.guest/host. Correct checking contion > > s/not find/cannot find/ > s/contion/condition/ ? > Hi Paolo, Could you correct these typos in KVM tree or when sending a PR? > > of no more available entry in vmx->msr_autoload. > > > > Fixes: ca83b4a7f2d0 ("x86/KVM/VMX: Add find_msr() helper function") > > Signed-off-by: Xiaoyao Li <xiaoyao.li@linux.intel.com> > > --- > > arch/x86/kvm/vmx/vmx.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > > index 95d618045001..1aaef2d536bd 100644 > > --- a/arch/x86/kvm/vmx/vmx.c > > +++ b/arch/x86/kvm/vmx/vmx.c > > @@ -863,7 +863,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, > > unsigned msr, > > if (!entry_only) > > j = find_msr(&m->host, msr); > > > > - if (i == NR_AUTOLOAD_MSRS || j == NR_AUTOLOAD_MSRS) { > > + if ((i < 0 && m->guest.nr == NR_AUTOLOAD_MSRS) || > > + (j < 0 && m->host.nr == NR_AUTOLOAD_MSRS)) { > > printk_once(KERN_WARNING "Not enough msr switch entries. " > > "Can't add msr %x\n", msr); > > return; > > -- > > 2.19.1 > >
On Mon, 2019-02-18 at 16:26 +0800, linux.intel.com wrote: > On Fri, 2019-02-15 at 11:46 -0500, Konrad Rzeszutek Wilk wrote: > > On Thu, Feb 14, 2019 at 12:08:58PM +0800, Xiaoyao Li wrote: > > > Commit ca83b4a7f2d068da79a0 ("x86/KVM/VMX: Add find_msr() helper > > > function") > > > introduces the helper function find_msr(), which returns -ENOENT when > > > not find the msr in vmx->msr_autoload.guest/host. Correct checking contion > > > > s/not find/cannot find/ > > s/contion/condition/ ? > > > > Hi Paolo, > Could you correct these typos in KVM tree or when sending a PR? > Please disregard this. I just noticed tha this patch had been merged into mainline. > > > of no more available entry in vmx->msr_autoload. > > > > > > Fixes: ca83b4a7f2d0 ("x86/KVM/VMX: Add find_msr() helper function") > > > Signed-off-by: Xiaoyao Li <xiaoyao.li@linux.intel.com> > > > --- > > > arch/x86/kvm/vmx/vmx.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > > > index 95d618045001..1aaef2d536bd 100644 > > > --- a/arch/x86/kvm/vmx/vmx.c > > > +++ b/arch/x86/kvm/vmx/vmx.c > > > @@ -863,7 +863,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx > > > *vmx, > > > unsigned msr, > > > if (!entry_only) > > > j = find_msr(&m->host, msr); > > > > > > - if (i == NR_AUTOLOAD_MSRS || j == NR_AUTOLOAD_MSRS) { > > > + if ((i < 0 && m->guest.nr == NR_AUTOLOAD_MSRS) || > > > + (j < 0 && m->host.nr == NR_AUTOLOAD_MSRS)) { > > > printk_once(KERN_WARNING "Not enough msr switch entries. " > > > "Can't add msr %x\n", msr); > > > return; > > > -- > > > 2.19.1 > > >
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 95d618045001..1aaef2d536bd 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -863,7 +863,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr, if (!entry_only) j = find_msr(&m->host, msr); - if (i == NR_AUTOLOAD_MSRS || j == NR_AUTOLOAD_MSRS) { + if ((i < 0 && m->guest.nr == NR_AUTOLOAD_MSRS) || + (j < 0 && m->host.nr == NR_AUTOLOAD_MSRS)) { printk_once(KERN_WARNING "Not enough msr switch entries. " "Can't add msr %x\n", msr); return;
Commit ca83b4a7f2d068da79a0 ("x86/KVM/VMX: Add find_msr() helper function") introduces the helper function find_msr(), which returns -ENOENT when not find the msr in vmx->msr_autoload.guest/host. Correct checking contion of no more available entry in vmx->msr_autoload. Fixes: ca83b4a7f2d0 ("x86/KVM/VMX: Add find_msr() helper function") Signed-off-by: Xiaoyao Li <xiaoyao.li@linux.intel.com> --- arch/x86/kvm/vmx/vmx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)