linux/arch/powerpc/include/asm
Alexey Kardashevskiy 7d506ca97b powerpc/uaccess: Avoid might_fault() when user access is enabled
The amount of code executed with enabled user space access (unlocked
KUAP) should be minimal. However with CONFIG_PROVE_LOCKING or
CONFIG_DEBUG_ATOMIC_SLEEP enabled, might_fault() calls into various
parts of the kernel, and may even end up replaying interrupts which in
turn may access user space and forget to restore the KUAP state.

The problem places are:
  1. strncpy_from_user (and similar) which unlock KUAP and call
     unsafe_get_user -> __get_user_allowed -> __get_user_nocheck()
     with do_allow=false to skip KUAP as the caller took care of it.
  2. __unsafe_put_user_goto() which is called with unlocked KUAP.

eg:
  WARNING: CPU: 30 PID: 1 at arch/powerpc/include/asm/book3s/64/kup.h:324 arch_local_irq_restore+0x160/0x190
  NIP arch_local_irq_restore+0x160/0x190
  LR  lock_is_held_type+0x140/0x200
  Call Trace:
    0xc00000007f392ff8 (unreliable)
    ___might_sleep+0x180/0x320
    __might_fault+0x50/0xe0
    filldir64+0x2d0/0x5d0
    call_filldir+0xc8/0x180
    ext4_readdir+0x948/0xb40
    iterate_dir+0x1ec/0x240
    sys_getdents64+0x80/0x290
    system_call_exception+0x160/0x280
    system_call_common+0xf0/0x27c

Change __get_user_nocheck() to look at `do_allow` to decide whether to
skip might_fault(). Since strncpy_from_user/etc call might_fault()
anyway before unlocking KUAP, there should be no visible change.

Drop might_fault() in __unsafe_put_user_goto() as it is only called
from unsafe_put_user(), which already has KUAP unlocked.

Since keeping might_fault() is still desirable for debugging, add
calls to it in user_[read|write]_access_begin(). That also allows us
to drop the is_kernel_addr() test, because there should be no code
using user_[read|write]_access_begin() in order to access a kernel
address.

Fixes: de78a9c42a ("powerpc: Add a framework for Kernel Userspace Access Protection")
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
[mpe: Combine with related patch from myself, merge change logs]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210204121612.32721-1-aik@ozlabs.ru
2021-02-11 23:35:04 +11:00
..
book3s powerpc/32s: mfsrin()/mtsrin() become mfsr()/mtsr() 2021-02-09 01:10:15 +11:00
nohash powerpc updates for 5.11 2020-12-17 13:34:25 -08:00
vdso powerpc/time: Force inlining of get_tb() 2020-12-21 22:06:10 +11:00
8xx_immap.h
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: Mark archrandom.h functions __must_check 2020-01-25 12:18:51 -05: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/uaccess: Don't use "m<>" constraint with GCC 4.9 2020-10-22 14:26:09 +11:00
asm-offsets.h
asm-prototypes.h powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
async_tx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 2019-05-24 17:27:11 +02:00
atomic.h powerpc: Fix update form addressing in inline assembly 2020-12-04 22:13:19 +11: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/barrier: Use CONFIG_PPC64 for barrier selection 2020-12-04 01:01:10 +11:00
bitops.h powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() 2020-11-19 14:50:13 +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/64s/hash: improve context tracking of hash faults 2021-02-09 00:02:12 +11:00
bugs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h powerpc: Rewrite 4xx flush_cache_instruction() in C 2020-09-02 11:00:21 +10: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 powerpc: force inlining of csum_partial() to avoid multiple csum_partial() with GCC10 2020-12-15 22:50:11 +11:00
clocksource.h powerpc/vdso: Prepare for switching VDSO to generic C implementation. 2020-12-04 01:01:10 +11:00
cmpxchg.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +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 powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
compat.h compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h> 2020-09-17 13:00:46 -04: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 soc: fsl: move cpm.h from powerpc/include/asm to include/soc/fsl 2019-12-09 13:54:34 -06:00
cpm1.h powerpc/8xx: Fix early debug when SMC1 is relocated 2020-12-09 17:00:54 +11: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
cpu_setup_power.h powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C 2020-11-19 14:49:56 +11: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/32s: Make support for 603 and 604+ selectable 2020-12-09 16:48:59 +11:00
cputhreads.h powerpc/topology: Override cpu_smt_mask 2020-09-16 22:05:19 +10:00
cputime.h powerpc/64: move account_stolen_time into its own function 2021-02-09 00:10:49 +11:00
crashdump-ppc64.h powerpc/kexec_file: Setup backup region for kdump kernel 2020-07-29 23:47:54 +10: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 powerpc: Inline doorbell sending functions 2020-07-29 21:02:09 +10: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: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
debugfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
delay.h powerpc/time: Avoid using get_tbl() and get_tbu() internally 2020-10-08 21:17:15 +11:00
device.h IOMMU Updates for Linux v5.9 2020-08-11 14:13:24 -07:00
disassemble.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
dma-direct.h dma-direct: rename and cleanup __phys_to_dma 2020-09-11 09:14:43 +02:00
dma.h powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
drmem.h powerpc/drmem: Make lmb_size 64 bit 2020-10-08 12:50:52 +11:00
dt_cpu_ftrs.h powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
dtl.h powerpc64: Break asm/percpu.h vs spinlock_types.h dependency 2020-07-10 12:00:01 +02:00
edac.h
eeh_event.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
eeh.h powerpc/eeh: Delete eeh_pe->config_addr 2020-10-07 22:34:47 +11:00
ehv_pic.h
elf.h powerpc: Remove ucache_bsize 2020-12-05 21:49:52 +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_hcalls.h: delete duplicated words 2020-07-27 00:01:31 +10:00
exception-64e.h powerpc/64e: Drop dead BOOK3E_MMU_TLB_STATS code 2020-07-29 21:08:12 +10:00
exception-64s.h powerpc/64s: flush L1D after user accesses 2020-11-19 23:47:18 +11: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: use static allocation for reserved memory ranges 2020-05-04 22:29:58 +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 powerpc: Add new macro to handle NESTED_IFCLR 2020-12-04 01:01:23 +11:00
firmware.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
fixmap.h powerpc/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
floppy.h floppy: use symbolic register names in the powerpc port 2020-05-12 19:34:53 +03: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: Implement ftrace_enabled() helpers 2020-05-19 00:10:34 +10:00
futex.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +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/64s: Move HMI IRQ stat from percpu variable to paca. 2020-07-29 23:47:53 +10:00
head-64.h powerpc/64s: system call support for scv/rfscv instructions 2020-07-22 23:00:27 +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/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
hmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
hugetlb.h powerpc/hugetlb/cma: Allocate gigantic hugetlb pages using CMA 2020-07-29 21:09:37 +10:00
hvcall.h powerpc/hvcall: add token and codes for H_VASI_SIGNAL 2020-12-08 21:40:55 +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 exception handling for CONFIG_HAVE_HW_BREAKPOINT=N 2020-09-15 22:13:20 +10:00
hw_irq.h powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
hydra.h powerpc: Replace HTTP links with HTTPS ones 2020-07-22 00:01:23 +10:00
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 powerpc/nx: Don't pack struct coprocessor_request_block 2020-08-25 01:31:33 +10: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
idle.h powerpc/sysfs: Show idle_purr and idle_spurr for every CPU 2020-04-30 12:35:26 +10: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 powerpc/perf: Add kernel support for new MSR[HV PR] bits in trace-imc 2020-07-16 13:12:46 +10: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
inst.h powerpc: Add a ppc_inst_as_str() helper 2020-07-23 17:41:36 +10:00
interrupt.h powerpc: remove interrupt handler functions from the noinstr section 2021-02-11 23:28:34 +11:00
io_event_irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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: Fix update form addressing in inline assembly 2020-12-04 22:13:19 +11:00
iommu.h dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
ipic.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
irq.h powerpc/irq: Drop forward declaration of struct irqaction 2020-09-02 11:00:19 +10: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/kasan: Fix KASAN_SHADOW_START on BOOK3S_32 2020-08-18 13:39:52 +10:00
Kbuild local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08: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_ranges.h powerpc/kexec_file: Avoid stomping memory used by special regions 2020-07-29 23:47:53 +10:00
kexec.h powerpc/kexec_file: Prepare elfcore header for crashing kernel 2020-07-29 23:47:54 +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
kprobes.h powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
kup.h powerpc/uaccess: Perform barrier_nospec() in KUAP allowance helpers 2021-02-09 01:10:15 +11:00
kvm_asm.h KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones 2020-03-19 16:39:52 +11: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 powerpc/book3s64/kvm: Fix secondary page table walk warning during migration 2020-05-29 16:09:27 +10:00
kvm_book3s_asm.h KVM: PPC: Book3S HV: Save/restore new PMU registers 2020-07-22 21:56:41 +10:00
kvm_book3s_uvmem.h KVM: PPC: Book3S HV: Migrate hot plugged memory 2020-07-28 12:34:52 +10:00
kvm_book3s.h KVM: PPC: Book3S HV: Declare some prototypes 2021-01-30 11:39:31 +11:00
kvm_booke_hv_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
kvm_booke.h powerpc: Inline doorbell sending functions 2020-07-29 21:02:09 +10:00
kvm_fpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_guest.h powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
kvm_host.h KVM: PPC: Book3S HV: XICS: Replace the 'destroy' method by a 'release' method 2020-09-03 14:12:48 +10:00
kvm_para.h powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
kvm_ppc.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +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 livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
local.h powerpc: Add const qual to local_read() parameter 2019-11-24 15:06:33 -08:00
lppaca.h powerpc64: Break asm/percpu.h vs spinlock_types.h dependency 2020-07-10 12:00:01 +02:00
lv1call.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
machdep.h powerpc/pci: Add ppc_md.discover_phbs() 2021-02-03 09:46:36 +11: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/mce: Remove per cpu variables from MCE handlers 2021-01-31 22:35:49 +11: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
mman.h powerpc/64s: Disallow PROT_SAO in LPARs by default 2020-08-24 14:12:54 +10:00
mmiowb.h arch: Remove dummy mmiowb() definitions from arch code 2019-04-08 12:09:27 +01:00
mmu_context.h powerpc/pkeys: Remove unused code 2021-02-09 01:09:44 +11:00
mmu.h powerpc/32s: Make support for 603 and 604+ selectable 2020-12-09 16:48:59 +11:00
mmzone.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
module.h powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
module.lds.h kbuild: preprocess module linker script 2020-09-25 00:36:41 +09: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_psc.h
mpc52xx.h powerpc/52xx: Add missing functions prototypes 2018-05-25 12:04:42 +10:00
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_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
mpic.h powerpc/msi: Fix compile error on mpc83xx 2018-10-21 19:32:07 +11:00
msi_bitmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
nmi.h powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +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/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +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: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
page_32.h powerpc/32s: Cleanup around PTE_FLAGS_OFFSET in hash_low.S 2020-12-09 23:48:14 +11:00
page_64.h mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS 2020-04-10 15:36:21 -07:00
page.h powerpc/32: Set user/kernel boundary at TASK_SIZE instead of PAGE_OFFSET 2020-07-27 00:01:30 +10:00
paravirt.h powerpc: Fix build error in paravirt.h 2021-01-31 22:35:49 +11: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 Revert "powerpc/pci: unmap legacy INTx interrupts when a PHB is removed" 2020-10-15 13:42:49 +11:00
pci.h dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
percpu.h powerpc: Fix circular dependency between percpu.h and mmu.h 2020-08-04 23:15:59 +10: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 powerpc/perf: Add new power PMU flag "PPMU_P10_DD1" for power10 DD1 2020-11-19 16:56:55 +11:00
perf_event.h powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs 2021-02-09 01:09:44 +11: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: Declare arch_report_meminfo() prototype. 2021-01-30 11:39:30 +11:00
pkeys.h powerpc/pkeys: Remove unused code 2021-02-09 01:09:44 +11:00
plpar_wrappers.h powerpc/watchpoint: Guest support for 2nd DAWR hcall 2020-07-26 23:34:19 +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 ocxl: Initiate a TLB invalidate command 2020-12-04 01:01:30 +11:00
pnv-pci.h powerpc/powernv/ioda: Find opencapi slot for a device node 2020-01-23 21:31:17 +11:00
powernv.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
ppc_asm.h powerpc/64: entry cpu time accounting in C 2021-02-09 00:10:49 +11:00
ppc-opcode.h powerpc/ppc-opcode: Add encoding macros for VSX vector paired instructions 2020-12-11 00:09:09 +11:00
ppc-pci.h powerpc/pci: Delete traverse_pci_dn() 2021-01-31 22:35:48 +11:00
ppc4xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
probes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
processor.h powerpc/book3s64/pkeys: Don't update SPRN_AMR when in kernel mode. 2020-12-04 01:01:26 +11:00
prom.h powerpc: Add POWER10 architected mode 2020-06-02 20:59:20 +10:00
ps3.h powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11: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/book3s64/pkeys: Store/restore userspace AMR/IAMR correctly on entry and exit from kernel 2020-12-04 01:01:25 +11:00
qspinlock_paravirt.h powerpc/pseries: Implement paravirt qspinlocks for SPLPAR 2020-07-27 00:01:29 +10:00
qspinlock.h powerpc/qspinlock: Optimised atomic_try_cmpxchg_lock() that adds the lock hint 2020-07-27 00:01:29 +10:00
reg_8xx.h powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size. 2020-01-23 21:31:14 +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 powerpc: Retire e200 core (mpc555x processor) 2020-12-05 21:49:18 +11:00
reg_fsl_emb.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
reg.h powerpc/32s: Allow constant folding in mtsr()/mfsr() 2021-02-09 01:10:15 +11: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-types.h powerpc/rtas: remove unused rtas_suspend_me_data 2020-12-08 21:41:02 +11:00
rtas.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11: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 powerpc: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h maccess: make get_kernel_nofault() check for minimal type compatibility 2020-06-18 12:10:37 -07: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/64s: flush L1D after user accesses 2020-11-19 23:47:18 +11: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: Make setjmp/longjmp signature standard 2020-04-01 14:30:51 +11:00
setup.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +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 powerpc/64/sycall: Implement syscall entry/exit logic in C 2020-04-01 13:42:13 +11:00
simple_spinlock_types.h powerpc: Move spinlock implementation to simple_spinlock 2020-07-26 23:34:26 +10:00
simple_spinlock.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
slice.h powerpc/8xx: MM_SLICE is not needed anymore 2020-05-26 22:22:21 +10:00
smp.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
smu.h powerpc/smu.h: delete duplicated word 2020-07-27 00:01:32 +10:00
sparsemem.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
spinlock_types.h powerpc/64s: Implement queued spinlocks and rwlocks 2020-07-27 00:01:23 +10:00
spinlock.h powerpc/pseries: Implement paravirt qspinlocks for SPLPAR 2020-07-27 00:01:29 +10: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
spu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
sstep.h Merge branch 'scv' support into next 2020-07-23 17:43:44 +10: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 x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
svm.h powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory 2020-09-14 23:07:14 +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 mm_context vas_windows counter to issue CP_ABORT 2020-04-20 16:53:01 +10:00
synch.h powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address 2020-10-06 23:22:23 +11:00
syscall.h powerpc: trap_is_syscall() helper to hide syscall trap number 2020-05-15 11:58:54 +10: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: context tracking remove _TIF_NOHZ 2021-02-09 00:02:12 +11:00
time.h powerpc/time: move timer_broadcast_interrupt prototype to asm/time.h 2021-02-09 00:02:10 +11:00
timex.h powerpc/time: Move timebase functions into new asm/vdso/timebase.h 2020-12-04 01:01:10 +11:00
tlb.h powerpc/32s: Inline flush_hash_entry() 2020-12-09 16:46:56 +11: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/numa: Fix build when CONFIG_NUMA=n 2020-11-06 14:16:19 +11:00
trace_clock.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
trace.h powerpc: Add doorbell tracepoints 2019-05-01 16:45:05 +10: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
tsi108.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uaccess.h powerpc/uaccess: Avoid might_fault() when user access is enabled 2021-02-11 23:35:04 +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: Add back __ARCH_WANT_SYS_LLSEEK macro 2020-04-03 00:09:59 +11:00
uprobes.h powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
user.h powerpc/aout: Fix struct user definition to use user_pt_regs 2018-10-19 15:09:04 +11:00
vas.h crypto/nx: Remove 'pid' in vas_tx_win_attr struct 2020-04-20 16:53:14 +10:00
vdso_datapage.h powerpc/vdso: Remove unused \tmp param in __get_datapage() 2020-12-04 01:01:17 +11:00
vdso.h powerpc/vdso: Cleanup vdso.h 2020-12-04 01:01:19 +11:00
vermagic.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09: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
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01: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
xive-regs.h powerpc/xive: Enforce load-after-store ordering when StoreEOI is active 2020-05-07 22:58:31 +10:00
xive.h powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +11:00
xmon.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
xor_altivec.h powerpc/altivec: Add missing prototypes for altivec 2018-05-25 12:04:38 +10:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00