1
0
Fork 0
alistair23-linux/arch/xtensa/include/asm
Max Filippov 747467f362 xtensa: fix TLBTEMP area placement
commit 481535c5b4 upstream.

fast_second_level_miss handler for the TLBTEMP area has an assumption
that page table directory entry for the TLBTEMP address range is 0. For
it to be true the TLBTEMP area must be aligned to 4MB boundary and not
share its 4MB region with anything that may use a page table. This is
not true currently: TLBTEMP shares space with vmalloc space which
results in the following kinds of runtime errors when
fast_second_level_miss loads page table directory entry for the vmalloc
space instead of fixing up the TLBTEMP area:

 Unable to handle kernel paging request at virtual address c7ff0e00
  pc = d0009275, ra = 90009478
 Oops: sig: 9 [#1] PREEMPT
 CPU: 1 PID: 61 Comm: kworker/u9:2 Not tainted 5.10.0-rc3-next-20201110-00007-g1fe4962fa983-dirty #58
 Workqueue: xprtiod xs_stream_data_receive_workfn
 a00: 90009478 d11e1dc0 c7ff0e00 00000020 c7ff0000 00000001 7f8b8107 00000000
 a08: 900c5992 d11e1d90 d0cc88b8 5506e97c 00000000 5506e97c d06c8074 d11e1d90
 pc: d0009275, ps: 00060310, depc: 00000014, excvaddr: c7ff0e00
 lbeg: d0009275, lend: d0009287 lcount: 00000003, sar: 00000010
 Call Trace:
   xs_stream_data_receive_workfn+0x43c/0x770
   process_one_work+0x1a1/0x324
   worker_thread+0x1cc/0x3c0
   kthread+0x10d/0x124
   ret_from_kernel_thread+0xc/0x18

Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-24 13:29:22 +01:00
..
Kbuild treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm-uaccess.h get rid of legacy 'get_ds()' function 2019-03-04 10:50:14 -08:00
asmmacro.h xtensa: abstract 'entry' and 'retw' in assembly code 2019-07-08 10:04:48 -07:00
atomic.h xtensa: add exclusive atomics support 2019-05-07 10:36:31 -07:00
barrier.h xtensa: add exclusive atomics support 2019-05-07 10:36:31 -07:00
bitops.h xtensa: fix change_bit in exclusive access option 2019-10-16 00:14:33 -07:00
bootparam.h xtensa: split bootparam and kernel meminfo 2014-04-02 01:35:51 +04:00
bugs.h
cache.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
cacheasm.h xtensa: increase ranges in ___invalidate_{i,d}cache_all 2018-08-13 20:08:01 -07:00
cacheflush.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
checksum.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
cmpxchg.h xtensa: add exclusive atomics support 2019-05-07 10:36:31 -07:00
coprocessor.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
core.h xtensa: implement initialize_cacheattr for MPU cores 2019-05-07 10:36:34 -07:00
current.h xtensa: consolidate kernel stack size related definitions 2017-12-10 14:48:55 -08:00
delay.h xtensa: implement ndelay 2014-01-15 00:28:11 +04:00
dma.h Fix common misspellings 2011-03-31 11:26:23 -03:00
elf.h xtensa: enable CORE_DUMP_USE_REGSET 2018-12-17 13:48:22 -08:00
fixmap.h xtensa: move fixmap and kmap just above the KSEG 2017-12-16 22:37:12 -08:00
flat.h binfmt_flat: remove the persistent argument from flat_get_addr_from_rp 2019-06-24 09:16:47 +10:00
ftrace.h ftrace: Make CALLER_ADDRx macros more generic 2014-05-21 03:10:32 -04:00
futex.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
highmem.h xtensa: move fixmap and kmap just above the KSEG 2017-12-16 22:37:12 -08:00
hw_breakpoint.h perf/hw_breakpoint: Remove default hw_breakpoint_arch_parse() 2018-06-26 09:07:58 +02:00
hw_irq.h
initialize_mmu.h docs: xtensa: convert to ReST 2019-07-15 09:20:26 -03:00
io.h xtensa: virt: move PCI root complex to KIO range 2019-09-02 00:09:30 -07:00
irq.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
irqflags.h xtensa: replace CONFIG_DEBUG_KERNEL with CONFIG_DEBUG_MISC 2019-05-14 19:52:50 -07:00
jump_label.h xtensa: implement jump_label support 2018-12-20 14:44:38 -08:00
kasan.h xtensa: fix build with KASAN 2018-02-11 09:18:12 -08:00
kmem_layout.h xtensa: platform-specific handling of coherent memory 2018-07-11 15:59:41 -07:00
linkage.h xtensa: clean up functions in assembly code 2017-12-10 14:48:54 -08:00
mmu.h xtensa: add SMP support 2014-01-14 10:19:58 -08:00
mmu_context.h xtensa: extract init_kio 2017-12-16 22:37:10 -08:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mxregs.h xtensa: add MX irqchip 2014-01-14 10:19:58 -08:00
nommu_context.h xtensa: extract init_kio 2017-12-16 22:37:10 -08:00
page.h xtensa: rework {CONFIG,PLATFORM}_DEFAULT_MEM_START 2018-08-20 12:28:03 -07:00
pci-bridge.h xtensa: drop ifdef __KERNEL__ from kernel-only headers 2019-05-06 17:48:54 -07:00
pci.h xtensa: drop ifdef __KERNEL__ from kernel-only headers 2019-05-06 17:48:54 -07:00
perf_event.h xtensa: enable HAVE_PERF_EVENTS 2014-01-15 00:27:03 +04:00
pgalloc.h mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
pgtable.h xtensa: fix TLBTEMP area placement 2020-11-24 13:29:22 +01:00
platform.h xtensa: drop dead PCI support code 2019-06-16 23:31:28 -07:00
processor.h xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
ptrace.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
regs.h xtensa: clean up PS_WOE_BIT usage 2019-09-01 13:11:57 -07:00
serial.h
shmparam.h
signal.h consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
smp.h xtensa: implement CPU hotplug 2014-01-14 10:19:59 -08:00
spinlock.h xtensa: use generic spinlock/rwlock implementation 2019-02-07 12:24:20 -08:00
spinlock_types.h xtensa: use generic spinlock/rwlock implementation 2019-02-07 12:24:20 -08:00
stackprotector.h xtensa: enable stack protector 2017-12-16 22:37:07 -08:00
stacktrace.h xtensa: move oprofile stack tracing to stacktrace.c 2015-08-17 07:32:49 +03:00
string.h xtensa: shut up gcc-8 warnings 2018-01-02 03:25:41 -08:00
switch_to.h Disintegrate asm/system.h for Xtensa 2012-03-28 18:30:03 +01:00
syscall.h xtensa: fix syscall_set_return_value 2019-12-21 11:04:35 +01:00
sysmem.h xtensa: drop sysmem and switch to memblock 2016-07-24 06:34:00 +03:00
thread_info.h xtensa: add missing exclusive access state management 2020-08-21 13:05:24 +02:00
timex.h xtensa: clean up WSR*/RSR*/get_sr/set_sr 2018-12-04 14:08:11 -08:00
tlb.h arch/tlb: Clean up simple architectures 2019-04-03 10:32:54 +02:00
tlbflush.h mm: remove quicklist page table caches 2019-09-24 15:54:09 -07:00
traps.h xtensa: drop unused field from the struct exc_table 2018-12-03 01:39:22 -08:00
uaccess.h xtensa: fix type conversion in __get_user_[no]check 2019-10-14 14:14:21 -07:00
ucontext.h
unaligned.h
unistd.h arch: handle arches who do not yet define clone3 2019-06-21 01:54:53 +02:00
user.h
vectors.h xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00