--- linux-2.6-2.6.18/arch/s390/lib/uaccess.S 2006-11-04 18:27:41.000000000 +0100 +++ linux-2.6-2.6.18/arch/s390/lib/uaccess.S.orig 2006-11-04 18:27:14.000000000 +0100 @@ -40,17 +40,7 @@ __copy_from_user_asm: # move with the reduced length which is < 256 5: mvcp 0(%r5,%r2),0(%r4),%r0 slr %r3,%r5 - alr %r2,%r5 -6: lgr %r5,%r3 # copy remaining size - ahi %r5,-1 # subtract 1 for xc loop - bras %r4,8f - xc 0(1,%2),0(%2) -7: xc 0(256,%2),0(%2) - la %r2,256(%r2) -8: ahji %r5,-256 - jnm 7b - ex %r5,0(%r2) -9: lr %r2,%r3 +6: lr %r2,%r3 br %r14 .section __ex_table,"a" .long 0b,4b --- linux-2.6-2.6.18/arch/s390/lib/uaccess64.S 2006-11-04 18:27:41.000000000 +0100 +++ linux-2.6-2.6.18/arch/s390/lib/uaccess64.S.orig 2006-11-04 18:27:24.000000000 +0100 @@ -40,17 +40,7 @@ __copy_from_user_asm: # move with the reduced length which is < 256 5: mvcp 0(%r5,%r2),0(%r4),%r0 slgr %r3,%r5 - algr %r2,%r5 -6: lgr %r5,%r3 # copy remaining size - aghi %r5,-1 # subtract 1 for xc loop - bras %r4,8f - xc 0(1,%r2),0(%r2) -7: xc 0(256,%r2),0(%r2) - la %r2,256(%r2) -8: aghi %r5,-256 - jnm 7b - ex %r5,0(%r2) -9: lgr %r2,%r3 +6: lgr %r2,%r3 br %r14 .section __ex_table,"a" .quad 0b,4b