linux/arch/parisc
John David Anglin f839e5f1ce parisc: Fix non-access data TLB cache flush faults
When a page is not present, we get non-access data TLB faults from
the fdc and fic instructions in flush_user_dcache_range_asm and
flush_user_icache_range_asm. When these occur, the cache line is
not invalidated and potentially we get memory corruption. The
problem was hidden by the nullification of the flush instructions.

These faults also affect performance. With pa8800/pa8900 processors,
there will be 32 faults per 4 KB page since the cache line is 128
bytes.  There will be more faults with earlier processors.

The problem is fixed by using flush_cache_pages(). It does the flush
using a tmp alias mapping.

The flush_cache_pages() call in flush_cache_range() flushed too
large a range.

V2: Remove unnecessary preempt_disable() and preempt_enable() calls.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
2022-03-11 19:48:06 +01:00
..
boot Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
configs parisc: Enable sata sil, audit and usb support on 64-bit defconfig 2021-11-30 21:49:32 +01:00
include parisc: Fix some apparent put_user() failures 2022-02-14 12:36:42 +01:00
kernel parisc: Fix non-access data TLB cache flush faults 2022-03-11 19:48:06 +01:00
lib parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() 2022-02-07 16:33:31 +01:00
math-emu parisc: math-emu: Fix fall-through warnings 2021-09-01 22:18:18 +02:00
mm parisc: Drop __init from map_pages declaration 2022-01-28 10:15:33 +01:00
defpalo.conf
install.sh parisc: Fix "make install" on newer debian releases 2021-12-04 21:36:04 +01:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig parisc: Default to 16 CPUs on 32-bit kernel 2022-01-11 11:57:38 +01:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile parisc: Fix KBUILD_IMAGE for self-extracting kernel 2021-11-30 21:49:32 +01:00
nm