]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Blackfin: Annotate clear_user 'to' parameter with __user
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 22 Oct 2012 14:09:04 +0000 (16:09 +0200)
committerBob Liu <lliubbo@gmail.com>
Thu, 13 Dec 2012 05:50:57 +0000 (13:50 +0800)
The 'to' parameter of clear_user is supposed to take a userspace pointer, so
annotate it with __user. This fixes the following and similar sparse warnings:

fs/binfmt_elf_fdpic.c:714:35: warning: incorrect type in argument 1 (different address spaces)
fs/binfmt_elf_fdpic.c:714:35:    expected void [noderef] <asn:1>*to
fs/binfmt_elf_fdpic.c:714:35:    got void *<noident>
fs/binfmt_elf_fdpic.c:1119:29: warning: incorrect type in argument 1 (different address spaces)
fs/binfmt_elf_fdpic.c:1119:29:    expected void *to
fs/binfmt_elf_fdpic.c:1119:29:    got void [noderef] <asn:1>*<noident>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
arch/blackfin/include/asm/uaccess.h

index 90f32c2a65bbb5f369888cff54d5db12754fe248..ded2d05847fa1c302fb772450ad6d212ca0d843d 100644 (file)
@@ -256,11 +256,11 @@ static inline long __must_check strlen_user(const char *src)
  */
 
 static inline unsigned long __must_check
-__clear_user(void *to, unsigned long n)
+__clear_user(void __user *to, unsigned long n)
 {
        if (!access_ok(VERIFY_WRITE, to, n))
                return n;
-       memset(to, 0, n);
+       memset((void __force *)to, 0, n);
        return 0;
 }