diff options
author | Paul Mundt <[email protected]> | 2008-11-10 20:00:45 +0900 |
---|---|---|
committer | Paul Mundt <[email protected]> | 2008-11-10 20:00:45 +0900 |
commit | acca4f4d9bd657e8bc7e1665ba5077465138f133 (patch) | |
tree | 39b107c67d9dc59e6064e528457ca97ba4396ba2 /drivers/mtd/lpddr/lpddr_cmds.c | |
parent | f7160c7573615ec82c691e294cf80d920b5d588d (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 <[email protected]>
Reported-by: CHIKAMA Masaki <[email protected]>
Tested-by: Yoshihiro Shimoda <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
Diffstat (limited to 'drivers/mtd/lpddr/lpddr_cmds.c')
0 files changed, 0 insertions, 0 deletions