[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page
authorRalf Baechle <ralf@linux-mips.org>
Sat, 21 Oct 2006 22:17:35 +0000 (23:17 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 21 Oct 2006 22:17:35 +0000 (23:17 +0100)
commitf8829caee311207afbc882794bdc5aa0db5caf33
treedbadd9fa746a1a4f091bc7e240ca8d787188a913
parent224dc50ece1b40f8cff5ecadd42a6b2691e231de
[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page

The current implementation uses a sequence of a cacheflush and a copy.
This is racy in case of a multithreaded debuggee and renders GDB
virtually unusable.

Aside this fixes a performance hog rendering access to /proc/cmdline very
slow and resulting in a enough cache stalls for the 34K AP/SP programming
model to make the bare metal code on the non-Linux VPE miss RT deadlines.

The main part of this patch was originally written by Ralf Baechle;
Atushi Nemoto did the the debugging.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/init.c
arch/mips/mm/pgtable-32.c
arch/mips/mm/pgtable-64.c
include/asm-mips/cacheflush.h
include/asm-mips/fixmap.h