]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
CRIS: __do_strncpy_from_user: Don't read the byte beyond the nil
authorJesper Nilsson <jesper.nilsson@axis.com>
Tue, 3 Aug 2010 17:14:29 +0000 (19:14 +0200)
committerJesper Nilsson <jesper.nilsson@axis.com>
Wed, 4 Aug 2010 11:02:36 +0000 (13:02 +0200)
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/include/arch-v32/arch/uaccess.h

index 6b207f1b66227e73e82b22a9712409049a465409..3196019706cb4f027bd7587d16e861187946ae07 100644 (file)
@@ -122,14 +122,14 @@ __do_strncpy_from_user(char *dst, const char *src, long count)
        __asm__ __volatile__ (
                "       move.d %3,%0\n"
                "5:     move.b [%2+],$acr\n"
-               "1:     beq 2f\n"
+               "1:     beq 6f\n"
                "       move.b $acr,[%1+]\n"
 
                "       subq 1,%0\n"
                "2:     bne 1b\n"
                "       move.b [%2+],$acr\n"
 
-               "       sub.d %3,%0\n"
+               "6:     sub.d %3,%0\n"
                "       neg.d %0,%0\n"
                "3:\n"
                "       .section .fixup,\"ax\"\n"
@@ -140,8 +140,7 @@ __do_strncpy_from_user(char *dst, const char *src, long count)
                /* The address for a fault at the first move is trivial.
                   The address for a fault at the second move is that of
                   the preceding branch insn, since the move insn is in
-                  its delay-slot.  That address is also a branch
-                  target.  Just so you don't get confused...  */
+                  its delay-slot.  Just so you don't get confused...  */
                "       .previous\n"
                "       .section __ex_table,\"a\"\n"
                "       .dword 5b,4b\n"