summaryrefslogtreecommitdiffstats
path: root/mm/huge_memory.c
diff options
context:
space:
mode:
authorLars Persson <lars.persson@axis.com>2014-08-08 15:47:48 +0200
committerRalf Baechle <ralf@linux-mips.org>2014-08-26 02:18:54 +0200
commit4b34cdde9074b593d5bb82aa3d79b0f73c808889 (patch)
treeb2b1a5cf17dd3793f0171d6f2395cb62fe91b730 /mm/huge_memory.c
parentMIPS: Malta: Improve system memory detection for '{e, }memsize' >= 2G (diff)
downloadlinux-4b34cdde9074b593d5bb82aa3d79b0f73c808889.tar.xz
linux-4b34cdde9074b593d5bb82aa3d79b0f73c808889.zip
MIPS: Remove race window in page fault handling
Multicore MIPSes without I/D hardware coherency suffered from a race condition in the page fault handler. The page table entry was published before any pending lazy D-cache flush was committed, hence it allowed execution of stale page cache data by other VPEs in the system. To make the cache handling safe we need to perform flushing already in the set_pte_at function. MIPSes without coherent I-caches can get a small increase in flushes due to the unavailability of the execute flag in set_pte_at. [ralf@linux-mips.org: outlining set_pte_at() saves a good k in a test build, so I moved its definition from pgtable.h to cache.c.] Signed-off-by: Lars Persson <larper@axis.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/7511/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'mm/huge_memory.c')
0 files changed, 0 insertions, 0 deletions