diff options
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/lib/usercopy_32.S | 11 | ||||
-rw-r--r-- | arch/tile/lib/usercopy_64.S | 11 |
2 files changed, 12 insertions, 10 deletions
diff --git a/arch/tile/lib/usercopy_32.S b/arch/tile/lib/usercopy_32.S index bb4c127be6e9..1bc162224638 100644 --- a/arch/tile/lib/usercopy_32.S +++ b/arch/tile/lib/usercopy_32.S | |||
@@ -48,12 +48,13 @@ strnlen_user_fault: | |||
48 | */ | 48 | */ |
49 | STD_ENTRY(strncpy_from_user_asm) | 49 | STD_ENTRY(strncpy_from_user_asm) |
50 | { bz r2, 2f; move r3, r0 } | 50 | { bz r2, 2f; move r3, r0 } |
51 | 1: { lb_u r4, r1; addi r1, r1, 1; addi r2, r2, -1 } | 51 | 1: { lb_u r4, r1; addi r1, r1, 1; addi r2, r2, -1 } |
52 | { sb r0, r4; addi r0, r0, 1 } | 52 | { sb r0, r4; addi r0, r0, 1 } |
53 | bz r2, 2f | 53 | bz r4, 2f |
54 | bnzt r4, 1b | 54 | bnzt r2, 1b |
55 | addi r0, r0, -1 /* don't count the trailing NUL */ | 55 | { sub r0, r0, r3; jrp lr } |
56 | 2: { sub r0, r0, r3; jrp lr } | 56 | 2: addi r0, r0, -1 /* don't count the trailing NUL */ |
57 | { sub r0, r0, r3; jrp lr } | ||
57 | STD_ENDPROC(strncpy_from_user_asm) | 58 | STD_ENDPROC(strncpy_from_user_asm) |
58 | .pushsection .fixup,"ax" | 59 | .pushsection .fixup,"ax" |
59 | strncpy_from_user_fault: | 60 | strncpy_from_user_fault: |
diff --git a/arch/tile/lib/usercopy_64.S b/arch/tile/lib/usercopy_64.S index 0d94844eb218..b3b31a3306f8 100644 --- a/arch/tile/lib/usercopy_64.S +++ b/arch/tile/lib/usercopy_64.S | |||
@@ -48,12 +48,13 @@ strnlen_user_fault: | |||
48 | */ | 48 | */ |
49 | STD_ENTRY(strncpy_from_user_asm) | 49 | STD_ENTRY(strncpy_from_user_asm) |
50 | { beqz r2, 2f; move r3, r0 } | 50 | { beqz r2, 2f; move r3, r0 } |
51 | 1: { ld1u r4, r1; addi r1, r1, 1; addi r2, r2, -1 } | 51 | 1: { ld1u r4, r1; addi r1, r1, 1; addi r2, r2, -1 } |
52 | { st1 r0, r4; addi r0, r0, 1 } | 52 | { st1 r0, r4; addi r0, r0, 1 } |
53 | beqz r2, 2f | 53 | beqz r4, 2f |
54 | bnezt r4, 1b | 54 | bnezt r2, 1b |
55 | addi r0, r0, -1 /* don't count the trailing NUL */ | 55 | { sub r0, r0, r3; jrp lr } |
56 | 2: { sub r0, r0, r3; jrp lr } | 56 | 2: addi r0, r0, -1 /* don't count the trailing NUL */ |
57 | { sub r0, r0, r3; jrp lr } | ||
57 | STD_ENDPROC(strncpy_from_user_asm) | 58 | STD_ENDPROC(strncpy_from_user_asm) |
58 | .pushsection .fixup,"ax" | 59 | .pushsection .fixup,"ax" |
59 | strncpy_from_user_fault: | 60 | strncpy_from_user_fault: |