Re: [PATCH v2 4/4] KVM: selftests: Check VMPTRLD with active eVMCS

Vitaly Kuznetsov <[email protected]>
Newsgroups dev.linux.lists.sashiko-reviews,org.kernel.vger.kvm
Message-ID <[email protected]>
Sean Christopherson <[email protected]> writes:

> On Tue, Aug 18, 2026, Sean Christopherson wrote:
>> On Tue, Aug 18, 2026, [email protected] wrote:
>> > > +	asm volatile(KVM_ASM_SAFE("vmptrld %[pa]")
>> > > +		     "\n\tsetna %[failed]"
>> > 
>> > [Severity: Medium]
>> > Will this setna instruction incorrectly evaluate CPU flags?
>> > 
>> > The KVM_ASM_SAFE macro executes xor %%r9, %%r9 on its success path, which
>> > unconditionally clears the Carry Flag (CF=0) and sets the Zero Flag (ZF=1).
>> 
>> Shame on me, I should know better after dealing with ba5ca5e5e6a1 ("x86/retpoline:
>> Don't clobber RFLAGS during srso_safe_ret()").
>> 
>> Untested, but I think the fix is simply:
>> 
>> diff --git tools/testing/selftests/kvm/include/x86/processor.h tools/testing/selftests/kvm/include/x86/processor.h
>> index 6e6f70035508..119715ffe93f 100644
>> --- tools/testing/selftests/kvm/include/x86/processor.h
>> +++ tools/testing/selftests/kvm/include/x86/processor.h
>> @@ -1318,7 +1318,7 @@ gva_t vm_alloc_stack(struct kvm_vm *vm, int nr_pages);
>>         "lea 1f(%%rip), %%r10\n\t"                              \
>>         "lea 2f(%%rip), %%r11\n\t"                              \
>>         fep "1: " insn "\n\t"                                   \
>> -       "xor %%r9, %%r9\n\t"                                    \
>> +       "mov $0, %%r9\n\t"                                      \
>>         "2:\n\t"                                                \
>>         "mov  %%r9b, %[vector]\n\t"                             \
>>         "mov  %%r10, %[error_code]\n\t"
>
> Vitaly, I'll send a v3 of this series with a rather large pile of additional
> selftests changes.  As often seems to be the case, my desire validate a simple
> fix has snowballed...

Sure,

I guess you can start using 'Provoked-by:' tag in such cases :-)

-- 
Vitaly
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.