[IA64] __copy_user breaks on unaligned src
authorKeith Owens <kaos@sgi.com>
Mon, 25 Apr 2005 20:23:47 +0000 (13:23 -0700)
committerTony Luck <tony.luck@intel.com>
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 6f26ef7cc236738cf0837c68621e2cfd024e9e0b..3c2cd2f04db96dadd528501a625a26b8fbeb2cf6 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)