android_kernel_motorola_sm6225/arch
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
..
alpha alpha: irq: remove deprecated use of IRQF_DISABLED 2013-04-07 12:59:30 -07:00
arc ARC: Fix the typo in event identifier flags used by ptrace 2013-03-20 18:45:45 +05:30
arm Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-04-03 16:15:17 -07:00
arm64 Fix IS_ENABLED() usage typo (missing CONFIG_ prefix). 2013-03-28 13:45:49 -07:00
avr32 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
blackfin Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
c6x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
cris Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
frv Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
h8300 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
ia64 ia64 idle: delete stale (*idle)() function pointer 2013-03-29 11:12:25 -07:00
m32r UAPI: fix endianness conditionals in M32R's asm/stat.h 2013-03-13 15:21:49 -07:00
m68k Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
metag metag: Inhibit NUMA balancing. 2013-03-04 10:29:19 +00:00
microblaze Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-04-05 12:23:12 -07:00
mn10300 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
openrisc openrisc: remove HAVE_VIRT_TO_BUS 2013-03-13 06:12:39 +01:00
parisc Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
powerpc powerpc: define the conditions where the ePAPR idle hcall can be supported 2013-03-26 08:47:27 +11:00
s390 s390/mm: provide emtpy check_pgt_cache() function 2013-04-02 08:53:11 +02:00
score Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
sh hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2013-03-19 14:47:11 -07:00
tile Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2013-04-01 08:17:09 -07:00
um um: Use tty_port in SIGWINCH handler 2013-03-11 10:08:04 +01:00
unicore32 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
x86 xen: mask x2APIC feature in PV 2013-05-08 08:38:11 -04:00
xtensa Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
.gitignore
Kconfig Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00