linux/arch/ia64/kernel
Tony Luck 8a635ffb14 ia64: Make sure that we have a mmiowb function real early
Generic kernels feed many operation through the "machvec" logic to get
the correct form of the operation for the current system.  "mmiowb()" is
one of those operations.

Although machvec is initialized very early in boot, it isn't early
enough for a recent upstream kernel change that added mmiowb to the
spin_unlock() path.

Statically initialize the mmiowb field of machvec so that we won't die
with a call through a NULL pointer.  This should be safe because we do
the real initialization of machvec before bringing up any addtional CPUs
or doing any I/O.

Fixes: 49ca6462fc ("ia64/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()")
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-05-15 18:43:46 -07:00
..
syscalls arch: add pidfd and io_uring syscalls everywhere 2019-04-15 16:31:17 +02:00
.gitignore
acpi-ext.c
acpi.c acpi: Create subtable parsing infrastructure 2019-04-04 18:41:12 +02:00
asm-offsets.c pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
brl_emu.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
crash.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
crash_dump.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cyclone.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma-mapping.c dma-mapping: bypass indirect calls for dma-direct 2018-12-13 21:06:18 +01:00
efi.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
efi_stub.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
elfcore.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
entry.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
entry.S ia64: generate uapi header and system call table files 2018-11-13 08:56:25 -08:00
err_inject.c ia64/err-inject: fix spelling mistake: "capapbilities" -> "capabilities" 2018-03-05 14:44:53 -08:00
esi.c
esi_stub.S ia64: move exports to definitions 2016-08-07 23:55:50 -04:00
fsys.S pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
fsyscall_gtod_data.h Stop ia64 being the last holdout using GENERIC_TIME_VSYSCALL_OLD 2017-11-13 12:15:40 -08:00
ftrace.c
gate-data.S
gate.lds.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gate.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ia64_ksyms.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
iosapic.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
irq.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq_ia64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq_lsapic.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ivt.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kprobes.c bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe 2018-06-21 12:33:19 +02:00
machine_kexec.c kexec: move vmcoreinfo out of the kernel's .bss section 2017-07-12 16:25:59 -07:00
machvec.c ia64: Make sure that we have a mmiowb function real early 2019-05-15 18:43:46 -07:00
Makefile treewide: add intermediate .s files to targets 2018-12-23 10:12:08 +09:00
Makefile.gate License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mca.c ia64: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:01 -07:00
mca_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mca_drv.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
mca_drv.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mca_drv_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
minstate.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c ia64: Add .opd based function descriptor dereference 2018-01-09 10:45:37 +01:00
msi_ia64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nr-irqs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
numa.c mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
pal.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
palinfo.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
patch.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci-dma.c intel-iommu: mark intel_dma_ops static 2018-09-17 10:15:58 -07:00
perfmon.c ia64: perfmon: don't mark buffer pages as PG_reserved 2019-03-05 21:07:19 -08:00
perfmon_default_smpl.c
perfmon_generic.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perfmon_itanium.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perfmon_mckinley.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perfmon_montecito.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
process.c ia64: do not use print_symbol() 2018-01-05 15:20:28 +01:00
ptrace.c syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
relocate_kernel.S
sal.c
salinfo.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
setup.c efi: Unify DMI setup code over the arm/arm64, ia64 and x86 architectures 2019-03-29 07:35:00 +01:00
sigframe.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
signal.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
smp.c
smpboot.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
stacktrace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sys_ia64.c mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() 2018-04-02 20:16:11 +02:00
time.c ia64, sched/cputime: Fix build error if CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y 2018-01-06 11:48:34 +01:00
topology.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
traps.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
unaligned.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
uncached.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/nmi.h> 2017-03-02 08:42:30 +01:00
unwind.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
unwind_decoder.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind_i.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vmlinux.lds.S Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk 2018-02-01 13:36:15 -08:00