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

Re: [Xen-devel] Xen PANIC in MCE interrupt context : can global variable dom0 be NULL ?



>>> Ashwin Pankaj <ashwin.pankaj@xxxxxxx> 15.02.10 15:19 >>>
>  After some digging, probable culprit seems to be smp_cmci_interrupt
>
>> if (bs.errcnt && mctc != NULL) {
>>         if (guest_enabled_event(dom0->vcpu[0], 
>> <------------------------------------ here
>>                      VIRQ_MCA)) {
>>             mctelem_commit(mctc);
>>             printk(KERN_DEBUG "CMCI: send CMCI to DOM0 through virq\n");
>>             send_guest_global_virq(dom0, VIRQ_MCA);
>>         } else {
>>             x86_mcinfo_dump(mctelem_dataptr(mctc));
>>             mctelem_dismiss(mctc);
>>        }
>
>
>Looks like dom0 is NULL here ( vcpu[0] offset is 0x468). Is this possible?

Yes, your call trace confirms this.

>Other functions like mce_softirq() perform a NULL check on dom0 before 
>accessing it's members ....

The majority of uses doesn't seem to do that check, yet it is essential
if CMCIs occur during boot of Xen. Even more, it should not only be
dom0 that is checked against NULL, but also dom0->vcpu (or
dom0->max_vcpus) and dom0->vcpu[0].

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.