]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitf592bffdf87266c466b816dca78c654ae33c0579
treedbadd9fa746a1a4f091bc7e240ca8d787188a913
parentcf182a8c3c539564228f7b3d564acbad7a1ad0a8
[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