Merge tag 'fixes-for-linus-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Sep 2016 18:57:24 +0000 (11:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Sep 2016 18:57:24 +0000 (11:57 -0700)
Pull uaccess fixes from Guenter Roeck:
 "Two patches fixing problems introduced with copy_from_user changes"

* tag 'fixes-for-linus-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  openrisc: fix the fix of copy_from_user()
  avr32: fix 'undefined reference to `___copy_from_user'

arch/avr32/lib/copy_user.S
arch/openrisc/include/asm/uaccess.h

index 96a6de9d578fc5b3f996b0bdc9139bbe041b8fd9..075373471da11d011871ab4681e7ded58732ddfb 100644 (file)
@@ -23,8 +23,8 @@
         */
        .text
        .align  1
-       .global copy_from_user
-       .type   copy_from_user, @function
+       .global ___copy_from_user
+       .type   ___copy_from_user, @function
 ___copy_from_user:
        branch_if_kernel r8, __copy_user
        ret_if_privileged r8, r11, r10, r10
index cbad29b5a131c8e2cacf715f2122c5fd78382c79..5cc6b4f1b79516a7a5882886b59884d03529df6d 100644 (file)
@@ -276,7 +276,7 @@ copy_from_user(void *to, const void *from, unsigned long n)
        unsigned long res = n;
 
        if (likely(access_ok(VERIFY_READ, from, n)))
-               n = __copy_tofrom_user(to, from, n);
+               res = __copy_tofrom_user(to, from, n);
        if (unlikely(res))
                memset(to + (n - res), 0, res);
        return res;