FAILED: patch "[PATCH] KVM: x86: don't print when fail to read/write pv eoi memory" failed to apply to 5.10-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From ce5977b181c1613072eafbc7546bcb6c463ea68c Mon Sep 17 00:00:00 2001
From: Li RongQing <[email protected]>
Date: Thu, 4 Nov 2021 19:56:13 +0800
Subject: [PATCH] KVM: x86: don't print when fail to read/write pv eoi memory
If guest gives MSR_KVM_PV_EOI_EN a wrong value, this printk() will be trigged, and kernel log is spammed with the useless message
Fixes 0d88800d5472 ("kvm: x86: ioapic and apic debug macros cleanup")
Reported-by Vitaly Kuznetsov <[email protected]>
Reviewed-by Vitaly Kuznetsov <[email protected]>
Signed-off-by Li RongQing <[email protected]>
Message-Id: <[email protected]>
Signed-off-by Paolo Bonzini <[email protected]>
arch/x86/kvm/lapic.c +6 -12
@@ -676,31 +676,25 @@ static inline bool pv_eoi_enabled(struct kvm_vcpu *vcpu)static bool pv_eoi_get_pending (struct kvm_vcpu *vcpu) {u8 val; -if (pv_eoi_get_user (vcpu, &val) <0 ) { -printk (KERN_WARNING "Can't read EOI MSR value: 0x%llx\n" , - (unsigned long long )vcpu->arch.pv_eoi.msr_val); +if (pv_eoi_get_user (vcpu, &val) <0 )return false; - } +return val &KVM_PV_EOI_ENABLED ; }static void pv_eoi_set_pending (struct kvm_vcpu *vcpu) { -if (pv_eoi_put_user (vcpu,KVM_PV_EOI_ENABLED ) <0 ) { -printk (KERN_WARNING "Can't set EOI MSR value: 0x%llx\n" , - (unsigned long long )vcpu->arch.pv_eoi.msr_val); +if (pv_eoi_put_user (vcpu,KVM_PV_EOI_ENABLED ) <0 )return ; - } +__set_bit (KVM_APIC_PV_EOI_PENDING , &vcpu->arch.apic_attention); }static void pv_eoi_clr_pending (struct kvm_vcpu *vcpu) { -if (pv_eoi_put_user (vcpu,KVM_PV_EOI_DISABLED ) <0 ) { -printk (KERN_WARNING "Can't clear EOI MSR value: 0x%llx\n" , - (unsigned long long )vcpu->arch.pv_eoi.msr_val); +if (pv_eoi_put_user (vcpu,KVM_PV_EOI_DISABLED ) <0 )return ; - } +__clear_bit (KVM_APIC_PV_EOI_PENDING , &vcpu->arch.apic_attention); }