Message ID | 89bf72db1b859990355f9c40713a34e0d2d86c98.camel@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: Fix steal time asm constraints in 32-bit mode | expand |
On 11/14/21 09:59, David Woodhouse wrote: > From: David Woodhouse <dwmw@amazon.co.uk> > > In 64-bit mode, x86 instruction encoding allows us to use the low 8 bits > of any GPR as an 8-bit operand. In 32-bit mode, however, we can only use > the [abcd] registers. For which, GCC has the "q" constraint instead of > the less restrictive "r". > > Fixes: 7e2175ebd695 ("KVM: x86: Fix recording of guest steal time / preempted status") > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> > --- > arch/x86/kvm/x86.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 8f156905ae38..0a689bb62e9e 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -3307,7 +3307,7 @@ static void record_steal_time(struct kvm_vcpu *vcpu) > "xor %1, %1\n" > "2:\n" > _ASM_EXTABLE_UA(1b, 2b) > - : "+r" (st_preempted), > + : "+q" (st_preempted), > "+&r" (err) > : "m" (st->preempted)); > if (err) > Queued with the addition of the "m" -> "+m" change, thanks. Paolo
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 8f156905ae38..0a689bb62e9e 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3307,7 +3307,7 @@ static void record_steal_time(struct kvm_vcpu *vcpu) "xor %1, %1\n" "2:\n" _ASM_EXTABLE_UA(1b, 2b) - : "+r" (st_preempted), + : "+q" (st_preempted), "+&r" (err) : "m" (st->preempted)); if (err)