android_kernel_oneplus_msm8998/arch/x86/xen
Juergen Gross afe7fb75a6 xen: fix xen_qlock_wait()
commit d3132b3860f6cf35ff7609a76bbcdbb814bd027c upstream.

Commit a856531951dc80 ("xen: make xen_qlock_wait() nestable")
introduced a regression for Xen guests running fully virtualized
(HVM or PVH mode). The Xen hypervisor wouldn't return from the poll
hypercall with interrupts disabled in case of an interrupt (for PV
guests it does).

So instead of disabling interrupts in xen_qlock_wait() use a nesting
counter to avoid calling xen_clear_irq_pending() in case
xen_qlock_wait() is nested.

Fixes: a856531951dc80 ("xen: make xen_qlock_wait() nestable")
Cc: stable@vger.kernel.org
Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-21 09:27:36 +01:00
..
apic.c xen/PMU: Intercept PMU-related MSR and APIC accesses 2015-08-20 12:25:25 +01:00
debugfs.c
debugfs.h
efi.c
enlighten.c x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS when running under Xen 2018-07-25 10:18:23 +02:00
grant-table.c xen/balloon: make alloc_xenballoon_pages() always allocate low pages 2015-10-23 14:20:05 +01:00
irq.c
Kconfig xen: features and fixes for 4.3-rc0 2015-09-08 11:46:48 -07:00
Makefile xen/PMU: Initialization code for Xen PMU 2015-08-20 12:25:20 +01:00
mmu.c tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} 2018-05-26 08:48:54 +02:00
mmu.h
multicalls.c
multicalls.h
p2m.c x86/xen: export xen_alloc_p2m_entry() 2015-10-23 14:20:28 +01:00
pci-swiotlb-xen.c
platform-pci-unplug.c x86/xen: fix non-ANSI declaration of xen_has_pv_devices() 2015-08-20 12:24:13 +01:00
pmu.c xen/x86/vpmu: Zero struct pt_regs before calling into sample handling code 2018-09-29 03:08:51 -07:00
pmu.h xen/PMU: Intercept PMU-related MSR and APIC accesses 2015-08-20 12:25:25 +01:00
setup.c xen/setup: Don't relocate p2m over existing one 2017-04-08 09:53:30 +02:00
smp.c x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths 2018-07-25 10:18:31 +02:00
smp.h
spinlock.c xen: fix xen_qlock_wait() 2018-11-21 09:27:36 +01:00
suspend.c x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend 2018-07-25 10:18:21 +02:00
time.c xen/x86: don't lose event interrupts 2017-05-02 21:19:50 -07:00
trace.c
vdso.h
vga.c
xen-asm.h
xen-asm.S
xen-asm_32.S
xen-asm_64.S
xen-head.S xen: eliminate scalability issues from initial mapping setup 2015-08-20 12:24:18 +01:00
xen-ops.h xen: move p2m list if conflicting with e820 map 2015-08-20 12:24:24 +01:00