linux/arch/powerpc/include/asm
Aneesh Kumar K.V 5d2e5dd584 powerpc/mm/hash: Fix sharing context ids between kernel & userspace
Commit 0034d395f8 ("powerpc/mm/hash64: Map all the kernel regions in
the same 0xc range") has a bug in the definition of MIN_USER_CONTEXT.

The result is that the context id used for the vmemmap and the lowest
context id handed out to userspace are the same. The context id is
essentially the process identifier as far as the first stage of the
MMU translation is concerned.

This can result in multiple SLB entries with the same VSID (Virtual
Segment ID), accessible to the kernel and some random userspace
process that happens to get the overlapping id, which is not expected
eg:

  07 c00c000008000000 40066bdea7000500  1T  ESID=   c00c00  VSID=      66bdea7 LLP:100
  12 0002000008000000 40066bdea7000d80  1T  ESID=      200  VSID=      66bdea7 LLP:100

Even though the user process and the kernel use the same VSID, the
permissions in the hash page table prevent the user process from
reading or writing to any kernel mappings.

It can also lead to SLB entries with different base page size
encodings (LLP), eg:

  05 c00c000008000000 00006bde0053b500 256M ESID=c00c00000  VSID=    6bde0053b LLP:100
  09 0000000008000000 00006bde0053bc80 256M ESID=        0  VSID=    6bde0053b LLP:  0

Such SLB entries can result in machine checks, eg. as seen on a G5:

  Oops: Machine check, sig: 7 [#1]
  BE PAGE SIZE=64K MU-Hash SMP NR_CPUS=4 NUMA Power Mac
  NIP: c00000000026f248 LR: c000000000295e58 CTR: 0000000000000000
  REGS: c0000000erfd3d70 TRAP: 0200 Tainted: G M (5.5.0-rcl-gcc-8.2.0-00010-g228b667d8ea1)
  MSR: 9000000000109032 <SF,HV,EE,ME,IR,DR,RI> CR: 24282048 XER: 00000000
  DAR: c00c000000612c80 DSISR: 00000400 IRQMASK: 0
  ...
  NIP [c00000000026f248] .kmem_cache_free+0x58/0x140
  LR  [c088000008295e58] .putname 8x88/0xa
  Call Trace:
    .putname+0xB8/0xa
    .filename_lookup.part.76+0xbe/0x160
    .do_faccessat+0xe0/0x380
    system_call+0x5c/ex68

This happens with 256MB segments and 64K pages, as the duplicate VSID
is hit with the first vmemmap segment and the first user segment, and
older 32-bit userspace maps things in the first user segment.

On other CPUs a machine check is not seen. Instead the userspace
process can get stuck continuously faulting, with the fault never
properly serviced, due to the kernel not understanding that there is
already a HPTE for the address but with inaccessible permissions.

On machines with 1T segments we've not seen the bug hit other than by
deliberately exercising it. That seems to be just a matter of luck
though, due to the typical layout of the user virtual address space
and the ranges of vmemmap that are typically populated.

To fix it we add 2 to MIN_USER_CONTEXT. This ensures the lowest
context given to userspace doesn't overlap with the VMEMMAP context,
or with the context for INVALID_REGION_ID.

Fixes: 0034d395f8 ("powerpc/mm/hash64: Map all the kernel regions in the same 0xc range")
Cc: stable@vger.kernel.org # v5.2+
Reported-by: Christian Marillat <marillat@debian.org>
Reported-by: Romain Dolbeau <romain@dolbeau.org>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
[mpe: Account for INVALID_REGION_ID, mostly rewrite change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200123102547.11623-1-mpe@ellerman.id.au
2020-01-23 21:26:20 +11:00
..
book3s powerpc/mm/hash: Fix sharing context ids between kernel & userspace 2020-01-23 21:26:20 +11:00
nohash powerpc: permanently include 8xx registers in reg.h 2019-11-18 22:27:52 +11:00
8xx_immap.h
Kbuild pci-v5.5-changes 2019-12-03 13:58:22 -08:00
accounting.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
agp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
archrandom.h powerpc/archrandom: fix arch_get_random_seed_int() 2019-12-05 08:21:16 +11:00
asm-405.h powerpc/405: move PPC405_ERR77 in asm-405.h 2018-07-30 22:48:13 +10:00
asm-compat.h powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
asm-const.h powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
asm-offsets.h
asm-prototypes.h y2038: syscall implementation cleanups 2019-12-01 14:00:59 -08:00
async_tx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 2019-05-24 17:27:11 +02:00
atomic.h locking/atomic, powerpc: Use s64 for atomic64 2019-06-03 12:32:56 +02:00
backlight.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
barrier.h powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E 2018-08-08 00:32:24 +10:00
bitops.h powerpc: support KASAN instrumentation of bitops 2019-11-07 13:15:40 +11:00
bootx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
btext.h powerpc/32s: fix booting with CONFIG_PPC_EARLY_DEBUG_BOOTX 2019-06-07 19:00:14 +10:00
bug.h powerpc: Refactor BUG/WARN macros 2019-11-18 22:27:51 +11:00
bugs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cache.h powerpc: Convert flush_icache_range & friends to C 2019-11-07 23:35:37 +11:00
cacheflush.h powerpc: Convert flush_icache_range & friends to C 2019-11-07 23:35:37 +11:00
cell-pmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
cell-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
checksum.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cmpxchg.h powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
code-patching-asm.h powerpc/asm: Add a patch_site macro & helpers for patching instructions 2018-08-08 00:32:25 +10:00
code-patching.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
compat.h asm-generic: Move common compat types to asm-generic/compat.h 2018-08-29 15:42:20 +02:00
context_tracking.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
copro.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpm.h powerpc/sysdev: change CPM GPIO to platform_device 2018-01-20 23:29:02 -06:00
cpm1.h powerpc/sysdev: change CPM GPIO to platform_device 2018-01-20 23:29:02 -06:00
cpm2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpu_has_feature.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpufeature.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpuidle.h powerpc/64s: Reimplement book3s idle code in C 2019-04-30 22:37:48 +10:00
cputable.h powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9 2019-09-24 20:58:55 +10:00
cputhreads.h powerpc: Detect the presence of big-cores via "ibm, thread-groups" 2018-10-13 22:21:25 +11:00
cputime.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
current.h powerpc/64: allow compiler to cache 'current' 2019-08-20 21:22:15 +10:00
dbdma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dbell.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dcr-generic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-mmio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-native.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dcr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
debug.h powerpc: declare set_breakpoint() static 2018-07-30 22:48:18 +10:00
debugfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
delay.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
device.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
disassemble.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
dma-direct.h powerpc: remove support for NULL dev in __phys_to_dma / __dma_to_phys 2019-11-20 20:31:40 +01:00
dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
drmem.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dt_cpu_ftrs.h powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
edac.h
eeh.h powerpc/eeh: Fix build with STACKTRACE=n 2019-09-14 00:01:14 +10:00
eeh_event.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ehv_pic.h
elf.h powerpc/prom_init: Undo relocation before entering secure mode 2019-10-29 15:12:17 +11:00
elfnote.h powerpc: Add PowerPC Capabilities ELF note 2019-08-30 09:40:15 +10:00
emergency-restart.h
emulated_ops.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
epapr_hcalls.h powerpc/epapr: Move register keyword at the beginning of declaration 2018-03-13 15:50:32 +11:00
exception-64e.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exception-64s.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
exec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
extable.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fadump-internal.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
fadump.h powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel 2019-09-14 00:04:45 +10:00
fb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
feature-fixups.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
firmware.h powerpc/powernv: Introduce FW_FEATURE_ULTRAVISOR 2019-08-30 09:40:15 +10:00
fixmap.h powerpc/83xx: map IMMR with a BAT. 2019-11-19 19:38:38 +11:00
floppy.h floppy: consolidate the dummy fd_cacheflush definition 2017-10-19 16:37:08 +02:00
fs_pd.h powerpc/8xx: Getting rid of remaining use of CONFIG_8xx 2017-08-10 23:32:12 +10:00
fsl_85xx_cache_sram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
fsl_gtm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_hcalls.h
fsl_lbc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
fsl_pamu_stash.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ftrace.h powerpc/ftrace: Enable HAVE_FUNCTION_GRAPH_RET_ADDR_PTR 2019-09-18 12:24:55 +10:00
futex.h powerpc/futex: Fix warning: 'oldval' may be used uninitialized in this function 2019-08-20 21:22:12 +10:00
grackle.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hardirq.h powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
head-64.h powerpc/64s/exception: move head-64.h exception code to exception-64s.S 2019-08-30 10:32:36 +10:00
heathrow.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
highmem.h powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
hmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
hugetlb.h powerpc/mm: move FSL_BOOK3 version of update_mmu_cache() 2019-08-20 21:22:14 +10:00
hvcall.h KVM: PPC: Book3S HV: Shared pages support for secure guests 2019-11-28 16:47:38 +11:00
hvconsole.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvcserver.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvsi.h powerpc/hvsi: Fix spelling mistake: "lenght" should be "length" 2019-01-14 20:39:27 +11:00
hw_breakpoint.h powerpc/watchpoint: Fix ptrace code that muck around with address/len 2019-11-13 16:58:03 +11:00
hw_irq.h powerpc: cleanup hw_irq.h 2019-11-18 22:27:52 +11:00
hydra.h
i8259.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ibmebus.h
icswx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ide.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ima.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
imc-pmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 112 2019-05-24 17:39:01 +02:00
immap_cpm2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io-defs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io-workarounds.h powerpc/mm: rework io-workaround invocation. 2019-08-27 13:03:34 +10:00
io.h powerpc/mm: split out early ioremap path. 2019-08-27 13:03:35 +10:00
io_event_irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
iommu.h Merge branch 'topic/ppc-kvm' into next 2019-08-30 09:52:57 +10:00
ipic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
irq_work.h powerpc: Add missing prototype for arch_irq_work_raise() 2018-03-13 15:50:37 +11:00
irqflags.h powerpc/64: Rename soft_enabled to irq_soft_mask 2018-01-19 22:37:01 +11:00
isa-bridge.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jump_label.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
kasan.h powerpc/32: Add KASAN support 2019-05-03 01:20:26 +10:00
kdebug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kdump.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kexec.h powerpc: Fix kexec failure on book3s/32 2019-06-07 16:24:47 +10:00
keylargo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kgdb.h powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() 2018-10-20 13:26:47 +11:00
kmap_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
kprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
kup.h powerpc/32s: Implement Kernel Userspace Execution Prevention. 2019-04-21 23:11:46 +10:00
kvm_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s_32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s_64.h treewide: Rename rcu_dereference_raw_notrace() to _check() 2019-08-01 14:16:21 -07:00
kvm_book3s_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s_uvmem.h KVM: PPC: Book3S HV: Handle memory plug/unplug to secure VM 2019-11-28 17:02:26 +11:00
kvm_booke.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_booke_hv_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
kvm_fpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_host.h KVM: PPC: Book3S HV: Support for running secure guests 2019-11-28 16:30:02 +11:00
kvm_para.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_ppc.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
libata-portmap.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
linkage.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
livepatch.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
local.h powerpc: Add const qual to local_read() parameter 2019-11-24 15:06:33 -08:00
lppaca.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
lv1call.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
machdep.h powerpc: Remove empty comment 2019-09-05 14:22:41 +10:00
macio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mc146818rtc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mce.h powerpc/64s/pseries: machine check convert to use common event code 2019-08-30 10:32:35 +10:00
mediabay.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mem_encrypt.h powerpc/pseries/svm: Force SWIOTLB for secure guests 2019-08-30 09:55:41 +10:00
membarrier.h membarrier: Provide GLOBAL_EXPEDITED command 2018-02-05 21:34:31 +01:00
mm-arch-hooks.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mman.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mmiowb.h arch: Remove dummy mmiowb() definitions from arch code 2019-04-08 12:09:27 +01:00
mmu.h powerpc/64s: make mmu_partition_table_set_entry TLB flush optional 2019-09-05 14:22:40 +10:00
mmu_context.h Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-19 10:23:24 -07:00
mmzone.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mpc5xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
mpc6xx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpc52xx.h powerpc/52xx: Add missing functions prototypes 2018-05-25 12:04:42 +10:00
mpc52xx_psc.h
mpc85xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
mpc5121.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 449 2019-06-05 17:37:18 +02:00
mpc8260.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpic.h powerpc/msi: Fix compile error on mpc83xx 2018-10-21 19:32:07 +11:00
mpic_msgr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
mpic_timer.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
msi_bitmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
nmi.h powerpc/64s: Fix HV NMI vs HV interrupt recoverability test 2019-02-26 23:28:24 +11:00
nvram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ohare.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
opal-api.h powerpc/powernv: Add OPAL API interface to access secure variable 2019-11-13 00:33:22 +11:00
opal.h powerpc/powernv: Add OPAL API interface to access secure variable 2019-11-13 00:33:22 +11:00
oprofile_impl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
paca.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
page.h powerpc updates for 5.5 2019-11-30 14:35:43 -08:00
page_32.h powerpc/32: Add warning on misaligned copy_page() or clear_page() 2019-08-20 21:22:15 +10:00
page_64.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
parport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pasemi_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pci-bridge.h powerpc/eeh: Fix race when freeing PDNs 2019-09-05 14:22:37 +10:00
pci.h PCI: Convert pci_resource_to_user() to a weak function 2019-08-08 15:12:07 -05:00
percpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf_event.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
perf_event_fsl_emb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
perf_event_server.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pgalloc.h mm: remove quicklist page table caches 2019-09-24 15:54:09 -07:00
pgtable-be-types.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
pgtable-types.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
pgtable.h powerpc/mm: drop #ifdef CONFIG_MMU in is_ioremap_addr() 2019-11-18 22:27:51 +11:00
pkeys.h powerpc/pkeys: make protection key 0 less special 2018-07-24 21:43:24 +10:00
plpar_wrappers.h powerpc/ptdump: drop non vital #ifdefs 2019-08-20 21:22:09 +10:00
pmac_feature.h
pmac_low_i2c.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pmac_pfunc.h powerpc/powermac: Move pmac_pfunc_base_install prototype to header file 2018-05-25 12:04:41 +10:00
pmc.h powerpc/pmu: Set pmcregs_in_use in paca when running as LPAR 2019-07-15 12:41:26 +10:00
pmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
pnv-ocxl.h powerpc: Use the correct style for SPDX License Identifier 2019-07-03 15:19:36 +10:00
pnv-pci.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
powernv.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
ppc-opcode.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
ppc-pci.h powerpc/eeh: Convert log messages to eeh_edev_* macros 2019-08-22 23:12:47 +10:00
ppc4xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
ppc_asm.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
probes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
processor.h processor: remove spin_cpu_yield 2019-06-15 12:25:49 +02:00
prom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ps3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
ps3av.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
ps3gpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
ps3stor.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
pte-walk.h powerpc/book3s: Use config independent helpers for page table walk 2019-07-05 00:43:50 +10:00
ptrace.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
reg.h powerpc updates for 5.5 2019-11-30 14:35:43 -08:00
reg_8xx.h powerpc: permanently include 8xx registers in reg.h 2019-11-18 22:27:52 +11:00
reg_a2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
reg_booke.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
reg_fsl_emb.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
rheap.h powerpc: Add missing prototype 2018-05-25 12:04:43 +10:00
rio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtas.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
runlatch.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
seccomp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sections.h powerpc: Define arch_is_kernel_initmem_freed() for lockdep 2019-11-27 18:41:26 +11:00
secure_boot.h powerpc: Detect the trusted boot state of the system 2019-11-12 12:25:49 +11:00
security_features.h powerpc updates for 5.5 2019-11-30 14:35:43 -08:00
secvar.h powerpc/powernv: Add OPAL API interface to access secure variable 2019-11-13 00:33:22 +11:00
serial.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
setjmp.h powerpc: Add attributes for setjmp/longjmp 2019-09-12 09:26:59 +10:00
setup.h powerpc/fsl: Add nospectre_v2 command line argument 2018-12-20 22:59:03 +11:00
sfp-machine.h powerpc/math-emu: Update macros from GCC 2018-12-04 19:45:01 +11:00
shmparam.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
signal.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
slice.h powerpc/mm: define get_slice_psize() all the time 2019-05-03 01:20:23 +10:00
smp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
smu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sparsemem.h powerpc/mm: move warning from resize_hpt_for_hotplug() 2019-04-20 22:02:26 +10:00
spinlock.h powerpc/spinlocks: Include correct header for static key 2019-12-30 21:20:41 +11:00
spinlock_types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
spu_csa.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
spu_info.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
spu_priv1.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
sstep.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
stackprotector.h powerpc/64: add stack protector support 2018-10-03 15:40:03 +10:00
stacktrace.h powerpc: Add show_user_instructions() 2018-08-08 00:32:30 +10:00
string.h powerpc/memcpy: Add memcpy_mcsafe for pmem 2019-08-21 22:23:48 +10:00
svm.h powerpc/pseries/svm: Use shared memory for Debug Trace Log (DTL) 2019-08-30 09:55:40 +10:00
swab.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
swiotlb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
switch_to.h powerpc: use task_pid_nr() for TID allocation 2018-06-03 20:40:31 +10:00
synch.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
syscall.h powerpc: define syscall_get_error() 2019-07-16 19:23:24 -07:00
syscalls.h powerpc/syscalls: switch rtas(2) to SYSCALL_DEFINE 2018-05-10 23:25:14 +10:00
task_size_32.h powerpc: Avoid circular header inclusion in mmu-hash.h 2019-02-23 22:31:39 +11:00
task_size_64.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
tce.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
termios.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
thread_info.h powerpc/64: Replace CURRENT_THREAD_INFO with PACA_THREAD_INFO 2019-02-23 22:31:40 +11:00
time.h powerpc/32s: drop CPU_FTR_USE_RTC feature 2019-08-28 23:19:33 +10:00
timex.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
tlb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tlbflush.h powerpc: split asm/tlbflush.h 2018-07-30 22:48:21 +10:00
tm.h powerpc: Export tm_enable()/tm_disable/tm_abort() APIs 2018-05-24 16:04:02 +10:00
topology.h powerpc/pseries: Provide vcpu dispatch statistics 2019-07-04 22:27:09 +10:00
trace.h powerpc: Add doorbell tracepoints 2019-05-01 16:45:05 +10:00
trace_clock.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tsi108.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tsi108_irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
tsi108_pci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uaccess.h powerpc: Fix __clear_user() with KUAP enabled 2019-12-16 23:19:44 +11:00
udbg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ultravisor-api.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
ultravisor.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
unaligned.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
uninorth.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unistd.h powerpc: Wire up clone3 syscall 2019-07-29 09:34:27 +10:00
uprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
user.h powerpc/aout: Fix struct user definition to use user_pt_regs 2018-10-19 15:09:04 +11:00
vas.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
vdso.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vdso_datapage.h powerpc: Fix vDSO clock_getres() 2019-12-05 00:13:55 +11:00
vga.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
word-at-a-time.h
xics.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xilinx_intc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
xilinx_pci.h
xive-regs.h powerpc/xive: Discard ESB load value when interrupt is invalid 2020-01-22 20:31:41 +11:00
xive.h powerpc updates for 5.4 2019-09-20 11:48:06 -07:00
xmon.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
xor_altivec.h powerpc/altivec: Add missing prototypes for altivec 2018-05-25 12:04:38 +10:00