The address calculated by VDSO32_SYMBOL() is a pointer into userland.
Add the __user annotation to fix related sparse warnings in its users.

Signed-off-by: Mathias Krause <mini...@googlemail.com>
---
 arch/x86/include/asm/vdso.h |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index bb05228..fddb53d 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -11,7 +11,8 @@ extern const char VDSO32_PRELINK[];
 #define VDSO32_SYMBOL(base, name)                                      \
 ({                                                                     \
        extern const char VDSO32_##name[];                              \
-       (void *)(VDSO32_##name - VDSO32_PRELINK + (unsigned long)(base)); \
+       (void __user *)(VDSO32_##name - VDSO32_PRELINK +                \
+                       (unsigned long)(base));                         \
 })
 #endif
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to