Zhenzhong Duan
4ea9b9aca9
xen: mask x2APIC feature in PV
On x2apic enabled pvm, doing sysrq+l, got NULL pointer dereference as below.
SysRq : Show backtrace of all active CPUs
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff8125e3cb>] memcpy+0xb/0x120
Call Trace:
[<ffffffff81039633>] ? __x2apic_send_IPI_mask+0x73/0x160
[<ffffffff8103973e>] x2apic_send_IPI_all+0x1e/0x20
[<ffffffff8103498c>] arch_trigger_all_cpu_backtrace+0x6c/0xb0
[<ffffffff81501be4>] ? _raw_spin_lock_irqsave+0x34/0x50
[<ffffffff8131654e>] sysrq_handle_showallcpus+0xe/0x10
[<ffffffff8131616d>] __handle_sysrq+0x7d/0x140
[<ffffffff81316230>] ? __handle_sysrq+0x140/0x140
[<ffffffff81316287>] write_sysrq_trigger+0x57/0x60
[<ffffffff811ca996>] proc_reg_write+0x86/0xc0
[<ffffffff8116dd8e>] vfs_write+0xce/0x190
[<ffffffff8116e3e5>] sys_write+0x55/0x90
[<ffffffff8150a242>] system_call_fastpath+0x16/0x1b
That's because apic points to apic_x2apic_cluster or apic_x2apic_phys
but the basic element like cpumask isn't initialized.
Mask x2APIC feature in pvm to avoid overwrite of apic pointer,
update commit message per Konrad's suggestion.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
Tested-by: Tamon Shiose <tamon.shiose@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2013-05-08 08:38:11 -04:00
..
2013-04-05 13:59:23 -07:00
2012-12-20 14:37:18 -08:00
2013-02-25 15:56:15 -08:00
2013-03-02 08:34:06 -08:00
2013-04-02 14:38:09 -07:00
2013-03-24 10:10:34 -07:00
2013-04-07 13:05:35 +03:00
2013-02-21 18:06:55 -08:00
2013-03-18 11:32:03 -07:00
2012-03-13 06:24:09 +01:00
2013-03-07 13:23:28 -08:00
2013-01-30 22:38:34 -05:00
2012-10-15 14:38:24 +02:00
2013-04-16 15:05:45 -04:00
2013-02-27 16:17:42 -08:00
2013-03-15 09:26:35 -07:00
2013-02-01 02:28:36 -08:00
2013-02-25 09:24:55 -05:00
2013-02-05 07:57:09 +11:00
2013-02-23 18:50:11 -08:00
2013-02-15 12:13:18 +01:00
2012-04-24 09:50:17 +01:00
2013-05-08 08:38:11 -04:00
2012-05-08 11:41:48 -07:00
2013-03-12 11:16:40 -07:00
2012-11-29 13:28:39 -08:00
2012-06-27 19:29:10 -07:00
2013-02-19 19:12:03 -08:00
2012-11-29 13:23:01 -08:00
2012-04-09 13:59:00 -04:00