Revision 38860b2c8bb1b92f61396eb06a63adff916fc31d authored by John David Anglin on 08 November 2021, 21:48:16 UTC, committed by Helge Deller on 13 November 2021, 21:10:56 UTC
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+
1 parent f0d1cfa
File | Mode | Size |
---|---|---|
adi | ||
amd | ||
atmel | ||
au1x | ||
bcm | ||
cirrus | ||
codecs | ||
dwc | ||
fsl | ||
generic | ||
hisilicon | ||
img | ||
intel | ||
jz4740 | ||
kirkwood | ||
mediatek | ||
meson | ||
mxs | ||
pxa | ||
qcom | ||
rockchip | ||
samsung | ||
sh | ||
sof | ||
spear | ||
sprd | ||
sti | ||
stm | ||
sunxi | ||
tegra | ||
ti | ||
uniphier | ||
ux500 | ||
xilinx | ||
xtensa | ||
Kconfig | -rw-r--r-- | 2.7 KB |
Makefile | -rw-r--r-- | 1.9 KB |
soc-ac97.c | -rw-r--r-- | 10.6 KB |
soc-acpi.c | -rw-r--r-- | 2.9 KB |
soc-card.c | -rw-r--r-- | 4.8 KB |
soc-component.c | -rw-r--r-- | 33.0 KB |
soc-compress.c | -rw-r--r-- | 17.9 KB |
soc-core.c | -rw-r--r-- | 82.4 KB |
soc-dai.c | -rw-r--r-- | 20.6 KB |
soc-dapm.c | -rw-r--r-- | 121.7 KB |
soc-devres.c | -rw-r--r-- | 3.9 KB |
soc-generic-dmaengine-pcm.c | -rw-r--r-- | 13.8 KB |
soc-jack.c | -rw-r--r-- | 11.3 KB |
soc-link.c | -rw-r--r-- | 5.6 KB |
soc-ops.c | -rw-r--r-- | 25.0 KB |
soc-pcm.c | -rw-r--r-- | 75.9 KB |
soc-topology-test.c | -rw-r--r-- | 24.3 KB |
soc-topology.c | -rw-r--r-- | 73.0 KB |
soc-utils.c | -rw-r--r-- | 5.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...