[IA64] __copy_user breaks on unaligned src
Keith Owens [Mon, 25 Apr 2005 20:23:47 +0000 (13:23 -0700)]
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>

arch/ia64/lib/memcpy_mck.S

index 6f26ef7..3c2cd2f 100644 (file)
@@ -300,7 +300,7 @@ EK(.ex_handler,     (p[D])  st8 [dst1] = t15, 4*8)
        add     src_pre_mem=0,src0      // prefetch src pointer
        add     dst_pre_mem=0,dst0      // prefetch dest pointer
        and     src0=-8,src0            // 1st src pointer
-(p7)   mov     ar.lc = r21
+(p7)   mov     ar.lc = cnt
 (p8)   mov     ar.lc = r0
        ;;
        TEXT_ALIGN(32)