forked from luck/tmp_suning_uos_patched
acca4f4d9b
There was a race in the kmap_coherent() implementation. While we guarded against preemption, there was nothing preventing eviction of the pre-faulted fixmap entry from the UTLB. Under certain workloads this would result in the fixmap entries used for cache colouring being evicted from the UTLB in the midst of a copy_page(). In addition to pre-faulting, we also make sure to preserve the PTEs in the kernel page table and introduce a cached PTE for kmap_coherent() usage. This follows a similar change on MIPS ("[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page"). Reported-by: Hideo Saito <saito@densan.co.jp> Reported-by: CHIKAMA Masaki <masaki.chikama@gmail.com> Tested-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> |
||
---|---|---|
.. | ||
cache-debugfs.c | ||
cache-sh2.c | ||
cache-sh2a.c | ||
cache-sh3.c | ||
cache-sh4.c | ||
cache-sh5.c | ||
cache-sh7705.c | ||
consistent.c | ||
extable_32.c | ||
extable_64.c | ||
fault_32.c | ||
fault_64.c | ||
hugetlbpage.c | ||
init.c | ||
ioremap_32.c | ||
ioremap_64.c | ||
Kconfig | ||
Makefile | ||
Makefile_32 | ||
Makefile_64 | ||
numa.c | ||
pg-nommu.c | ||
pg-sh4.c | ||
pg-sh7705.c | ||
pmb.c | ||
tlb-nommu.c | ||
tlb-sh3.c | ||
tlb-sh4.c | ||
tlb-sh5.c | ||
tlbflush_32.c | ||
tlbflush_64.c |