]> git.neil.brown.name Git - history.git/commitdiff
ppc64: Fix clear_user, from ppc32
authorAnton Blanchard <anton@samba.org>
Sat, 1 Jun 2002 05:18:06 +0000 (15:18 +1000)
committerAnton Blanchard <anton@samba.org>
Sat, 1 Jun 2002 05:18:06 +0000 (15:18 +1000)
include/asm-ppc64/uaccess.h

index d91ba318b751d751ffdec63c523cbb622eae6a88..3c095aa9388311f9587530d7c79353f0ff22cdf3 100644 (file)
@@ -240,7 +240,11 @@ clear_user(void *addr, unsigned long size)
 {
        if (access_ok(VERIFY_WRITE, addr, size))
                return __clear_user(addr, size);
-       return size? -EFAULT: 0;
+       if ((unsigned long)addr < TASK_SIZE) {
+               unsigned long over = (unsigned long)addr + size - TASK_SIZE;
+               return __clear_user(addr, size - over) + over;
+       }
+       return size;
 }
 
 extern int __strncpy_from_user(char *dst, const char *src, long count);