aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Owens <kaos@sgi.com>2005-04-25 16:23:47 -0400
committerTony Luck <tony.luck@intel.com>2005-04-25 16:23:47 -0400
commit6118ec847e8e35393efc0f88394c2f5dd48c3313 (patch)
tree81b1eb429f1d7154ec7a36c3b6c0418ba2029f02
parentf0a8d3c9ec1f82d2a41faa6c46b8db7bd5b1eb8d (diff)
[IA64] __copy_user breaks on unaligned src
memcpy_mck.S::__copy_user breaks in the prefetch code under these conditions :- * src is unaligned and * dst is near the end of a page and * the page after dst is unmapped. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/lib/memcpy_mck.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/lib/memcpy_mck.S b/arch/ia64/lib/memcpy_mck.S
index 6f26ef7cc236..3c2cd2f04db9 100644
--- a/arch/ia64/lib/memcpy_mck.S
+++ b/arch/ia64/lib/memcpy_mck.S
@@ -300,7 +300,7 @@ EK(.ex_handler, (p[D]) st8 [dst1] = t15, 4*8)
300 add src_pre_mem=0,src0 // prefetch src pointer 300 add src_pre_mem=0,src0 // prefetch src pointer
301 add dst_pre_mem=0,dst0 // prefetch dest pointer 301 add dst_pre_mem=0,dst0 // prefetch dest pointer
302 and src0=-8,src0 // 1st src pointer 302 and src0=-8,src0 // 1st src pointer
303(p7) mov ar.lc = r21 303(p7) mov ar.lc = cnt
304(p8) mov ar.lc = r0 304(p8) mov ar.lc = r0
305 ;; 305 ;;
306 TEXT_ALIGN(32) 306 TEXT_ALIGN(32)