Patch 1 fixes a bug found by syzkaller where KVM attempts to set the TSS.busy bit during LTR before checking that the new TSS.base is valid. Patch 2 fixes a bug found by inspection (when reading the APM to verify the non-canonical logic is correct) where KVM doesn't provide the correct error code if the new TSS.base is non-canonical. Patch 3 makes the "dangling userspace I/O" WARN_ON two separate WARN_ON_ONCE so that a KVM bug doesn't spam the kernel log (keeping the WARN is desirable specifically to detect these types of bugs). Sean Christopherson (3): KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP KVM: x86: WARN only once if KVM leaves a dangling userspace I/O request arch/x86/kvm/emulate.c | 23 +++++++++++------------ arch/x86/kvm/x86.c | 6 ++++-- 2 files changed, 15 insertions(+), 14 deletions(-) base-commit: b9b71f43683ae9d76b0989249607bbe8c9eb6c5c -- 2.37.0.144.g8ac04bfd2-goog