linux/arch/powerpc/kernel
Christophe Leroy 111631b5e9 powerpc/align: Don't use __get_user_instr() on kernel addresses
In the old days, when we didn't have kernel userspace access
protection and had set_fs(), it was wise to use __get_user()
and friends to read kernel memory.

Nowadays, get_user() is granting userspace access and is exclusively
for userspace access.

In alignment exception handler, use probe_kernel_read_inst()
instead of __get_user_instr() for reading instructions in kernel.

This will allow to remove the is_kernel_addr() check in
__get/put_user() in a following patch.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d9ecbce00178484e66ca7adec2ff210058037704.1615398265.git.christophe.leroy@csgroup.eu
2021-04-03 21:21:49 +11:00
..
ptrace powerpc/ptrace: Convert gpr32_set_common() to user access block 2021-03-26 23:19:43 +11:00
syscalls Kbuild updates for v5.12 2021-02-25 10:17:31 -08:00
trace
vdso32 powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o 2021-01-30 22:23:42 +11:00
vdso64 powerpc/64/signal: Fix regression in __kernel_sigtramp_rt64() semantics 2021-02-02 22:14:41 +11:00
.gitignore
align.c powerpc/align: Don't use __get_user_instr() on kernel addresses 2021-04-03 21:21:49 +11:00
asm-offsets.c powerpc/asm-offsets: GPR14 is not needed either 2021-03-29 13:22:13 +11:00
audit.c
btext.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheinfo.c powerpc/cacheinfo: Print correct cache-sibling map/list for L2 cache 2020-12-11 00:10:25 +11:00
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc: Retire e200 core (mpc555x processor) 2020-12-05 21:49:18 +11:00
cpu_setup_pa6t.S
cpu_setup_power.c powerpc/perf: MMCR0 control for PMU registers under PMCC=00 2020-12-04 01:01:29 +11:00
cpu_setup_ppc970.S
cputable.c arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
crash_dump.c
dawr.c
dbell.c powerpc: handle irq_enter/irq_exit in interrupt handler wrappers 2021-02-09 00:10:49 +11:00
dma-iommu.c powerpc/dma: Fallback to dma_ops when persistent memory present 2020-11-27 10:33:42 +01:00
dma-mask.c
dma-swiotlb.c
dt_cpu_ftrs.c arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
early_32.c
eeh.c powerpc/eeh: Fix build failure with CONFIG_PROC_FS=n 2021-03-29 13:22:14 +11:00
eeh_cache.c powerpc/eeh_cache: Fix a possible debugfs deadlock 2020-11-02 12:54:20 +11:00
eeh_driver.c
eeh_event.c
eeh_pe.c powerpc/eeh: Delete eeh_pe->config_addr 2020-10-07 22:34:47 +11:00
eeh_sysfs.c
entry_32.S powerpc/32: Manage KUAP in C 2021-03-29 13:22:11 +11:00
entry_64.S powerpc updates for 5.12 2021-02-22 14:34:00 -08:00
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S powerpc/64: entry cpu time accounting in C 2021-02-09 00:10:49 +11:00
exceptions-64s.S powerpc/64s/exception: Clean up a missed SRR specifier 2021-03-10 07:59:31 +11:00
fadump.c powerpc/fadump: Mark fadump_calculate_reserve_size as __init 2021-03-24 14:09:30 +11:00
firmware.c powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
fpu.S powerpc/32: Always enable data translation in exception prolog 2021-03-29 13:22:05 +11:00
fsl_booke_entry_mapping.S
head_8xx.S powerpc/32: Remove the xfer parameter in EXCEPTION() macro 2021-03-29 13:22:09 +11:00
head_32.h powerpc/32s: Move KUEP locking/unlocking in C 2021-03-29 13:22:10 +11:00
head_40x.S powerpc/32: Refactor saving of volatile registers in exception prologs 2021-03-29 13:22:10 +11:00
head_44x.S powerpc/32: Remove the xfer parameter in EXCEPTION() macro 2021-03-29 13:22:09 +11:00
head_64.S powerpc/64s: Remove MSR[ISF] bit 2020-12-09 23:48:14 +11:00
head_book3s_32.S powerpc/32: Remove the xfer parameter in EXCEPTION() macro 2021-03-29 13:22:09 +11:00
head_booke.h powerpc/32s: Move KUEP locking/unlocking in C 2021-03-29 13:22:10 +11:00
head_fsl_booke.S powerpc/64e: Trivial spelling fixes throughout head_fsl_booke.S 2021-03-29 13:22:12 +11:00
hw_breakpoint.c powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions 2020-12-11 00:09:10 +11:00
hw_breakpoint_constraints.c powerpc/uaccess: Remove __get/put_user_inatomic() 2021-04-03 21:21:41 +11:00
idle.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
idle_6xx.S powerpc/32: Return directly from power_save_ppc32_restore() 2021-03-29 13:22:10 +11:00
idle_book3e.S
idle_book3s.S powerpc64/idle: Fix SP offsets when saving GPRs 2021-02-09 01:10:16 +11:00
idle_e500.S powerpc/32: Return directly from power_save_ppc32_restore() 2021-03-29 13:22:10 +11:00
ima_arch.c
interrupt.c powerpc/32: Manage KUAP in C 2021-03-29 13:22:11 +11:00
io-workarounds.c
io.c
iomap.c powerpc: inline iomap accessors 2020-12-04 01:01:09 +11:00
iommu.c powerpc/iommu/debug: fix ifnullfree.cocci warnings 2021-03-29 13:22:17 +11:00
irq.c powerpc/irq: Inline call_do_irq() and call_do_softirq() 2021-03-29 13:22:17 +11:00
isa-bridge.c
jump_label.c
kgdb.c powerpc/kernel: Trivial typo fix in kgdb.c 2021-03-29 13:22:15 +11:00
kprobes-ftrace.c ftrace: Have the callbacks receive a struct ftrace_regs instead of pt_regs 2020-11-13 12:14:55 -05:00
kprobes.c powerpc: kprobes: Use generic kretprobe trampoline handler 2020-09-08 11:52:34 +02:00
kvm.c
kvm_emul.S
l2cr_6xx.S powerpc: Drop SYNC_601() ISYNC_601() and SYNC() 2020-10-08 21:17:13 +11:00
legacy_serial.c
Makefile powerpc updates for 5.12 2021-02-22 14:34:00 -08:00
mce.c powerpc: move NMI entry/exit code into wrapper 2021-02-09 00:10:50 +11:00
mce_power.c powerpc/64s/pseries: Add ERAT specific machine check handler 2020-12-04 01:01:23 +11:00
misc.S
misc_32.S powerpc/irq: Inline call_do_irq() and call_do_softirq() 2021-03-29 13:22:17 +11:00
misc_64.S powerpc/irq: Inline call_do_irq() and call_do_softirq() 2021-03-29 13:22:17 +11:00
module.c
module_32.c
module_64.c
msi.c
note.S
nvram_64.c
of_platform.c
optprobes.c powerpc/optprobes: Make patch_imm64_load_insns() static 2021-01-30 11:39:29 +11:00
optprobes_head.S
paca.c powerpc: Avoid broken GCC __attribute__((optimize)) 2020-11-19 14:50:14 +11:00
pci-common.c powerpc/pci: Add ppc_md.discover_phbs() 2021-02-03 09:46:36 +11:00
pci-hotplug.c
pci_32.c
pci_64.c
pci_dn.c powerpc/pci: Move PHB discovery for PCI_DN using platforms 2021-02-09 00:01:05 +11:00
pci_of_scan.c
pmc.c
ppc32.h
ppc_save_regs.S
proc_powerpc.c
process.c powerpc/32: Manage KUAP in C 2021-03-29 13:22:11 +11:00
prom.c powerpc/prom: Mark identical_pvr_fixup as __init 2021-03-24 14:09:30 +11:00
prom_init.c powerpc: remove unneeded semicolon 2021-03-24 14:09:29 +11:00
prom_init_check.sh
prom_parse.c
reloc_32.S
reloc_64.S
rtas-proc.c
rtas-rtc.c
rtas.c powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter 2020-12-09 13:36:51 +11:00
rtas_flash.c
rtas_pci.c
rtasd.c
secure_boot.c
security.c powerpc/security: Fix link stack flush instruction 2020-10-08 12:50:52 +11:00
secvar-ops.c
secvar-sysfs.c
setup-common.c powerpc: Fix section mismatch warning in smp_setup_pacas() 2021-03-29 13:22:14 +11:00
setup.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
setup_32.c powerpc/32: Statically initialise first emergency context 2021-03-29 13:22:06 +11:00
setup_64.c powerpc/setup_64: Fix sparse warnings 2021-03-29 13:22:17 +11:00
signal.c powerpc/64: context tracking remove _TIF_NOHZ 2021-02-09 00:02:12 +11:00
signal.h powerpc/signal: Use __get_user() to copy sigset_t 2021-03-29 12:52:24 +11:00
signal_32.c powerpc/signal: Use __get_user() to copy sigset_t 2021-03-29 12:52:24 +11:00
signal_64.c powerpc/signal: Use __get_user() to copy sigset_t 2021-03-29 12:52:24 +11:00
smp-tbsync.c
smp.c powerpc/smp: Make debugger_ipi_callback() static 2021-01-30 11:39:29 +11:00
stacktrace.c powerpc: Fix arch_stack_walk() to have running function as first entry 2021-03-29 13:22:16 +11:00
suspend.c
swsusp.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S
sys_ppc32.c powerpc/compat_sys: swap hi/lo parts of 64-bit syscall args in LE mode 2021-02-11 23:35:07 +11:00
syscalls.c powerpc/syscalls: Use sys_old_select() in ppc_select() 2021-03-26 23:19:42 +11:00
sysfs.c powerpc/sysfs: Remove unused 'err' variable in sysfs_create_dscr_default() 2020-09-18 20:05:24 +10:00
systbl.S
systbl_chk.sh
tau_6xx.c powerpc: handle irq_enter/irq_exit in interrupt handler wrappers 2021-02-09 00:10:49 +11:00
time.c powerpc: handle irq_enter/irq_exit in interrupt handler wrappers 2021-02-09 00:10:49 +11:00
tm.S powerpc/tm: Save and restore AMR on treclaim and trechkpt 2020-10-06 23:22:25 +11:00
traps.c powerpc/uaccess: Remove __get/put_user_inatomic() 2021-04-03 21:21:41 +11:00
ucall.S
udbg.c
udbg_16550.c
uprobes.c powerpc/uprobes: Validation for prefixed instruction 2021-03-29 12:52:24 +11:00
vdso.c powerpc/vdso: Remove DBG() 2020-12-04 01:01:19 +11:00
vdso32_wrapper.S powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o 2021-01-30 22:23:42 +11:00
vdso64_wrapper.S powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o 2021-01-30 22:23:42 +11:00
vecemu.c
vector.S powerpc/32: Always enable data translation in exception prolog 2021-03-29 13:22:05 +11:00
vmlinux.lds.S powerpc/64s: fix scv entry fallback flush vs interrupt 2021-01-20 15:58:19 +11:00
watchdog.c powerpc: move NMI entry/exit code into wrapper 2021-02-09 00:10:50 +11:00