Re: [Kernel BUG?] SMSW operation get success on UMIP KVM guest

From: Paolo Bonzini
Date: Mon Jul 01 2019 - 08:02:40 EST


On 01/07/19 09:50, Li Wang wrote:
> Hello there,
>
> LTP/umip_basic_test get failed on KVM UMIP
> system(kernel-v5.2-rc4.x86_64). The test is only trying to do
> Â Â Âasm volatile("smsw %0\n" : "=m" (val));
> and expect to get SIGSEGV in this SMSW operation, but it exits with 0
> unexpectedly.

In addition to what Thomas said, perhaps you are using a host that does
*not* have UMIP, and configuring KVM to emulate it(*). In that case, it
is not possible to intercept SMSW, and therefore it will incorrectly
succeed.

Paolo

(*) before the x86 people jump at me, this won't happen unless you
explicitly pass an option to QEMU, such as "-cpu host,+umip". :) The
incorrect emulation of SMSW when CR4.UMIP=1 is why.