linux_dsm_epyc7002/arch/powerpc/kernel
Christophe Leroy d4bf905307 powerpc: Fix CONFIG_TRACE_IRQFLAGS with CONFIG_VMAP_STACK
When CONFIG_PROVE_LOCKING is selected together with (now default)
CONFIG_VMAP_STACK, kernel enter deadlock during boot.

At the point of checking whether interrupts are enabled or not, the
value of MSR saved on stack is read using the physical address of the
stack. But at this point, when using VMAP stack the DATA MMU
translation has already been re-enabled, leading to deadlock.

Don't use the physical address of the stack when
CONFIG_VMAP_STACK is set.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Fixes: 028474876f ("powerpc/32: prepare for CONFIG_VMAP_STACK")
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/daeacdc0dec0416d1c587cc9f9e7191ad3068dc0.1581095957.git.christophe.leroy@c-s.fr
2020-02-08 21:49:06 +11:00
..
syscalls threads-v5.6 2020-01-29 19:38:34 -08:00
trace
vdso32 powerpc/vdso32: miscellaneous optimisations 2020-01-23 21:31:16 +11:00
vdso64 powerpc: Fix vDSO clock_getres() 2019-12-05 00:13:55 +11:00
.gitignore
align.c
asm-offsets.c powerpc/32: prepare for CONFIG_VMAP_STACK 2020-01-26 22:15:09 +11:00
audit.c
btext.c
cacheinfo.c
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S
cpu_setup_pa6t.S
cpu_setup_power.S
cpu_setup_ppc970.S
cputable.c
crash_dump.c
dawr.c
dbell.c
dma-iommu.c
dma-mask.c
dma-swiotlb.c
dt_cpu_ftrs.c powerpc/mm: Remove kvm radix prefetch workaround for Power9 DD2.2 2020-01-26 00:11:37 +11:00
early_32.c
eeh_cache.c powerpc/eeh_cache: Don't use pci_dn when inserting new ranges 2020-01-23 21:31:18 +11:00
eeh_dev.c
eeh_driver.c powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number 2020-01-06 16:25:28 +11:00
eeh_event.c
eeh_pe.c
eeh_sysfs.c powerpc/eeh_sysfs: Make clearing EEH_DEV_SYSFS saner 2020-01-23 21:31:19 +11:00
eeh.c powerpc/eeh: Only dump stack once if an MMIO loop is detected 2020-01-23 21:31:20 +11:00
entry_32.S powerpc: Fix CONFIG_TRACE_IRQFLAGS with CONFIG_VMAP_STACK 2020-02-08 21:49:06 +11:00
entry_64.S powerpc updates for 5.6 2020-02-04 13:06:46 +00:00
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S
exceptions-64s.S powerpc: Provide initial documentation for PAPR hcalls 2020-01-29 21:30:50 +11:00
fadump.c
firmware.c
fpu.S powerpc/32s: Enable CONFIG_VMAP_STACK 2020-01-27 22:37:24 +11:00
fsl_booke_entry_mapping.S
head_8xx.S powerpc/8xx: Enable CONFIG_VMAP_STACK 2020-01-27 22:36:59 +11:00
head_32.h powerpc/32s: Enable CONFIG_VMAP_STACK 2020-01-27 22:37:24 +11:00
head_32.S powerpc/32s: Enable CONFIG_VMAP_STACK 2020-01-27 22:37:24 +11:00
head_40x.S powerpc/32: save DEAR/DAR before calling handle_page_fault 2020-01-26 22:15:09 +11:00
head_44x.S
head_64.S
head_booke.h powerpc/32: save DEAR/DAR before calling handle_page_fault 2020-01-26 22:15:09 +11:00
head_fsl_booke.S powerpc/32: save DEAR/DAR before calling handle_page_fault 2020-01-26 22:15:09 +11:00
hw_breakpoint.c powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size. 2020-01-23 21:31:14 +11:00
idle_6xx.S
idle_book3e.S
idle_book3s.S powerpc/64s: Reimplement power4_idle code in C 2020-01-16 14:59:37 +10:00
idle_e500.S
idle.c powerpc/64s: Reimplement power4_idle code in C 2020-01-16 14:59:37 +10:00
ima_arch.c
io-workarounds.c
io.c
iomap.c
iommu.c
irq.c powerpc/32: Use vmapped stacks for interrupts 2020-01-27 22:36:15 +11:00
isa-bridge.c
jump_label.c
kgdb.c
kprobes-ftrace.c
kprobes.c
kvm_emul.S
kvm.c
l2cr_6xx.S
legacy_serial.c tty/serial: Migrate 8250_fsl to use has_sysrq 2019-12-18 15:04:42 +01:00
Makefile powerpc/64s: Reimplement power4_idle code in C 2020-01-16 14:59:37 +10:00
mce_power.c
mce.c
misc_32.S
misc_64.S
misc.S
module_32.c
module_64.c
module.c
module.lds
msi.c
note.S
nvram_64.c
of_platform.c
optprobes_head.S
optprobes.c
paca.c
pci_32.c
pci_64.c
pci_dn.c powerpc/pcidn: Warn when sriov pci_dn management is used incorrectly 2020-01-23 21:31:19 +11:00
pci_of_scan.c powerpc/pci: Remove pcibios_setup_bus_devices() 2020-01-06 16:25:29 +11:00
pci-common.c powerpc/pci: Fold pcibios_setup_device() into pcibios_bus_add_device() 2020-01-23 21:31:21 +11:00
pci-hotplug.c powerpc/pci: Remove pcibios_setup_bus_devices() 2020-01-06 16:25:29 +11:00
pmc.c
ppc32.h
ppc_save_regs.S
proc_powerpc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
process.c powerpc: use probe_user_read() and probe_user_write() 2020-01-26 00:11:35 +11:00
prom_init_check.sh
prom_init.c
prom_parse.c
prom.c
ptrace32.c
ptrace.c
reloc_32.S
reloc_64.S
rtas_flash.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
rtas_pci.c
rtas-proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
rtas-rtc.c
rtas.c
rtasd.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
secure_boot.c
security.c
secvar-ops.c
secvar-sysfs.c
setup_32.c powerpc/32: Use vmapped stacks for interrupts 2020-01-27 22:36:15 +11:00
setup_64.c powerpc: align stack to 2 * THREAD_SIZE with VMAP_STACK 2020-01-26 22:15:09 +11:00
setup-common.c arch/powerpc/setup: Drop dummy_con initialization 2020-01-14 15:29:17 +01:00
setup.h powerpc/32: Add early stack overflow detection with VMAP stack. 2020-01-27 22:35:49 +11:00
signal_32.c
signal_64.c
signal.c
signal.h
smp-tbsync.c
smp.c
stacktrace.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S
swsusp.c
sys_ppc32.c
syscalls.c
sysfs.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c powerpc: Fix vDSO clock_getres() 2019-12-05 00:13:55 +11:00
tm.S
traps.c powerpc/32: Add early stack overflow detection with VMAP stack. 2020-01-27 22:35:49 +11:00
ucall.S
udbg_16550.c
udbg.c
uprobes.c
vdso.c powerpc/vdso32: Don't read cache line size from the datapage on PPC32. 2020-01-23 21:31:15 +11:00
vecemu.c
vector.S powerpc/32s: Enable CONFIG_VMAP_STACK 2020-01-27 22:37:24 +11:00
vmlinux.lds.S powerpc: align stack to 2 * THREAD_SIZE with VMAP_STACK 2020-01-26 22:15:09 +11:00
watchdog.c