linux/arch/parisc/kernel
Helge Deller c03ad97293 Revert "parisc: Fix backtrace to always include init funtion names"
commit 98400ad75e95860e9a10ec78b0b90ab66184a2ce upstream.

This reverts commit 279917e27edc293eb645a25428c6ab3f3bca3f86.

With the CONFIG_HARDENED_USERCOPY option enabled, this patch triggers
kernel bugs at runtime:

  usercopy: Kernel memory overwrite attempt detected to kernel text (offset 2084839, size 6)!
  kernel BUG at mm/usercopy.c:99!
 Backtrace:
  IAOQ[0]: usercopy_abort+0xc4/0xe8
  [<00000000406ed1c8>] __check_object_size+0x174/0x238
  [<00000000407086d4>] copy_strings.isra.0+0x3e8/0x708
  [<0000000040709a20>] do_execveat_common.isra.0+0x1bc/0x328
  [<000000004070b760>] compat_sys_execve+0x7c/0xb8
  [<0000000040303eb8>] syscall_exit+0x0/0x14

The problem is, that we have an init section of at least 2MB size which
starts at _stext and is freed after bootup.

If then later some kernel data is (temporarily) stored in this free
memory, check_kernel_text_object() will trigger a bug since the data
appears to be inside the kernel text (>=_stext) area:
        if (overlaps(ptr, len, _stext, _etext))
                usercopy_abort("kernel text");

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@kernel.org # 5.4+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-01 09:23:28 +01:00
..
syscalls parisc: wire up kexec_file_load syscall 2019-09-08 15:37:37 +02:00
.gitignore
Makefile parisc: fix compilation when KEXEC=n and KEXEC_FILE=y 2020-01-12 12:21:33 +01:00
alternative.c parisc: Add ALTERNATIVE_CODE() and ALT_COND_RUN_ON_QEMU 2019-08-12 19:17:39 +02:00
asm-offsets.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
audit.c
cache.c
compat_audit.c
drivers.c parisc: Use proper printk format for resource_size_t 2020-02-05 21:22:46 +00:00
entry.S parisc/entry: fix trace test in syscall exit path 2021-11-21 13:38:50 +01:00
firmware.c parisc: add __pdc_cpu_rendezvous() 2019-09-08 15:19:58 +02:00
ftrace.c parisc/ftrace: Add KPROBES_ON_FTRACE 2019-08-03 08:56:57 +02:00
hardware.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
head.S
hpmc.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 150 2019-05-30 11:25:19 -07:00
inventory.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
irq.c parisc: Bump 64-bit IRQ stack size to 64 KB 2021-03-07 12:20:47 +01:00
jump_label.c
kexec.c parisc: add support for kexec_file_load() syscall 2019-09-08 15:41:46 +02:00
kexec_file.c parisc: add support for kexec_file_load() syscall 2019-09-08 15:41:46 +02:00
kgdb.c
kprobes.c kprobes/parisc: remove arch_kprobe_on_func_entry() 2019-09-06 23:58:44 +02:00
module.c Merge branch 'parisc-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2019-07-09 12:08:15 -07:00
module.lds parisc: add dynamic ftrace 2019-06-08 12:56:29 +02:00
pa7300lc.c
pacache.S parisc: speed up flush_tlb_all_local with qemu 2019-08-12 19:17:40 +02:00
parisc_ksyms.c Revert "parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat" 2021-09-03 10:08:16 +02:00
patch.c parisc: add spinlock to patch function 2019-06-08 12:56:26 +02:00
pci-dma.c dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code 2019-06-25 14:27:58 +02:00
pci.c parisc: Drop comments which are already in pci.h 2019-09-05 16:41:11 +02:00
pdc_chassis.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pdc_cons.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
pdt.c
perf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
perf_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
perf_images.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
process.c parisc: Implement copy_thread_tls 2020-01-14 20:08:34 +01:00
processor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
ptrace.c parisc: Ensure userspace privilege for ptraced processes in regset functions 2019-07-17 23:11:27 +02:00
real2.S
relocate_kernel.S parisc: add kexec syscall support 2019-09-08 15:37:04 +02:00
setup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
signal.c parisc: fix crash with signals and alloca 2021-09-22 12:26:37 +02:00
signal32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
signal32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
smp.c parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling 2021-11-17 09:48:33 +01:00
stacktrace.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
sys_parisc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
sys_parisc32.c
syscall.S Revert "parisc: Revert "Release spinlocks using ordered store"" 2020-08-19 08:16:26 +02:00
time.c
topology.c
traps.c parisc: trigger die notifier chain in parisc_terminate() 2019-08-03 08:56:57 +02:00
unaligned.c Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2019-07-08 21:48:15 -07:00
unwind.c parisc/unwind: fix unwinder when CONFIG_64BIT is enabled 2021-11-17 09:48:33 +01:00
vmlinux.lds.S Revert "parisc: Fix backtrace to always include init funtion names" 2021-12-01 09:23:28 +01:00