linux/arch/sh/mm
Stuart Menefy a25bbe1222 sh: Flush executable pages in copy_user_highpage
This resolves a problem seen when using the Android dynamic linker.
Sometimes the dynamic linker would seg-fault at start up and this
was eventually traced to the handling of a COW fault for a page which
was being modified by the linker. If there was no cache aliasing between
the kernel and the user page, the page was not flushed, leaving the
newly copied data in the D-cache. However when executing instructions
from that page, the I-cache is filled directly from external memory,
rather than the D-cache, and causing garbage to be executed.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-02-15 16:24:31 +09:00
..
alignment.c
asids-debugfs.c
cache-debugfs.c
cache-sh2.c
cache-sh2a.c
cache-sh3.c
cache-sh4.c sh: Assume new page cache pages have dirty dcache lines. 2010-12-01 15:39:51 +09:00
cache-sh5.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
cache-sh7705.c sh: Assume new page cache pages have dirty dcache lines. 2010-12-01 15:39:51 +09:00
cache-shx3.c
cache.c sh: Flush executable pages in copy_user_highpage 2011-02-15 16:24:31 +09:00
consistent.c sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00
extable_32.c
extable_64.c
fault_32.c
fault_64.c
flush-sh4.c
gup.c sh: lockless get_user_pages_fast() 2010-10-27 16:43:08 +09:00
hugetlbpage.c thp: pte alloc trans splitting 2011-01-13 17:32:40 -08:00
init.c sh: Add a machvec callback for early memblock reservations. 2011-01-11 13:04:57 +09:00
ioremap_fixed.c
ioremap.c
Kconfig sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00
kmap.c sh: Assume new page cache pages have dirty dcache lines. 2010-12-01 15:39:51 +09:00
Makefile sh: lockless get_user_pages_fast() 2010-10-27 16:43:08 +09:00
mmap.c
nommu.c
numa.c
pgtable.c
pmb.c
sram.c
tlb-debugfs.c
tlb-pteaex.c
tlb-sh3.c
tlb-sh4.c
tlb-sh5.c
tlb-urb.c
tlbflush_32.c
tlbflush_64.c
uncached.c sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00