Re: [PATCH] KVM: x86: Remove user space triggerable MCE error message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-01-17 01:54, Huang Ying wrote:
> On Sat, 2011-01-15 at 17:00 +0800, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
>>
>> This case is a pure user space error we do not need to record. Moreover,
>> it can be misused to flood the kernel log. Remove it.
> 
> I don't think this is a pure user space error.  This happens on real
> hardware too, if the Machine Check exception is raised during early boot
> stage or the second MC exception is raised before the first MC exception
> is processed/cleared.
> 
> So I use printk here to help debugging these issues.
> 
> To avoid flooding the kernel log, we can use ratelimit.

With user space I meant qemu, and maybe "error" was the wrong term. This
code path is only triggered if qemu decides to. And there you may also
print this event (and you already do).

Another reason to not rely on catching this case here: KVM_X86_SET_MCE
is obsolete on current kernels. Qemu will use a combination of
KVM_SET_MSRS and KVM_SET_VCPU_EVENTS in the future, only falling back to
this interface on pre-vcpu-events kernels. Then you need to debug this
in user space anyway as the triple fault will no longer make it to the
kernel.

Jan

> 
> Best Regards,
> Huang Ying
> 
>> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
>> ---
>>  arch/x86/kvm/x86.c |    3 ---
>>  1 files changed, 0 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>> index 9dda70d..7f7e4a5 100644
>> --- a/arch/x86/kvm/x86.c
>> +++ b/arch/x86/kvm/x86.c
>> @@ -2575,9 +2575,6 @@ static int kvm_vcpu_ioctl_x86_set_mce(struct kvm_vcpu *vcpu,
>>  	if (mce->status & MCI_STATUS_UC) {
>>  		if ((vcpu->arch.mcg_status & MCG_STATUS_MCIP) ||
>>  		    !kvm_read_cr4_bits(vcpu, X86_CR4_MCE)) {
>> -			printk(KERN_DEBUG "kvm: set_mce: "
>> -			       "injects mce exception while "
>> -			       "previous one is in progress!\n");
>>  			kvm_make_request(KVM_REQ_TRIPLE_FAULT, vcpu);
>>  			return 0;
>>  		}
> 
> 


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux