From 10dc42b5b262f3bb2e4532759e4e1147ebf6a22f Mon Sep 17 00:00:00 2001
From: Lars-Peter Clausen <lars@metafoo.de>
Date: Mon, 22 Oct 2012 16:09:04 +0200
Subject: [PATCH] Blackfin: Annotate clear_user 'to' parameter with __user

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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/blackfin/include/asm/uaccess.h b/arch/blackfin/include/asm/uaccess.h
index 90f32c2a65bb..ded2d05847fa 100644
--- a/arch/blackfin/include/asm/uaccess.h
+++ b/arch/blackfin/include/asm/uaccess.h
@@ -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;
 }
 
-- 
GitLab