Files
linux/arch/parisc/include/asm
John David Anglin 38860b2c8b parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page
For years, there have been random segmentation faults in userspace on
SMP PA-RISC machines.  It occurred to me that this might be a problem in
set_pte_at().  MIPS and some other architectures do cache flushes when
installing PTEs with the present bit set.

Here I have adapted the code in update_mmu_cache() to flush the kernel
mapping when the kernel flush is deferred, or when the kernel mapping
may alias with the user mapping.  This simplifies calls to
update_mmu_cache().

I also changed the barrier in set_pte() from a compiler barrier to a
full memory barrier.  I know this change is not sufficient to fix the
problem.  It might not be needed.

I have had a few days of operation with 5.14.16 to 5.15.1 and haven't
seen any random segmentation faults on rp3440 or c8000 so far.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@kernel.org # 5.12+
2021-11-13 22:10:56 +01:00
..
2021-10-18 07:49:36 -04:00
2021-09-08 15:32:35 -07:00
2019-09-08 15:37:04 +02:00
2019-05-03 23:47:41 +02:00
2021-05-07 00:26:34 -07:00
2021-10-30 23:11:00 +02:00
2019-05-03 23:47:38 +02:00
2019-07-21 11:01:55 +02:00
2019-02-21 20:37:12 +01:00
2019-06-25 14:52:26 +02:00
2019-07-16 19:23:24 -07:00
2019-05-03 23:47:41 +02:00
2017-11-17 15:27:22 +01:00
2019-07-17 23:11:28 +02:00