aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/kernel/cpu/sh4a
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2008-11-10 20:00:45 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-11-10 20:00:45 +0900
commitacca4f4d9bd657e8bc7e1665ba5077465138f133 (patch)
tree39b107c67d9dc59e6064e528457ca97ba4396ba2 /arch/sh/kernel/cpu/sh4a
parentf7160c7573615ec82c691e294cf80d920b5d588d (diff)
sh: Handle fixmap TLB eviction more coherently.
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>
Diffstat (limited to 'arch/sh/kernel/cpu/sh4a')
0 files changed, 0 insertions, 0 deletions