microblaze: uaccess: Fix strncpy_from_user function
authorMichal Simek <monstr@monstr.eu>
Mon, 8 Mar 2010 08:38:02 +0000 (09:38 +0100)
committerMichal Simek <monstr@monstr.eu>
Thu, 1 Apr 2010 06:38:21 +0000 (08:38 +0200)
Generic implementation for noMMU and MMU version

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/include/asm/uaccess.h

index b56d8ae..fe954b3 100644 (file)
@@ -407,11 +407,19 @@ static inline long copy_to_user(void __user *to,
 }
 
 extern int __strncpy_user(char *to, const char __user *from, int len);
+
+#define __strncpy_from_user    __strncpy_user
+
+static inline long
+strncpy_from_user(char *dst, const char __user *src, long count)
+{
+       if (!access_ok(VERIFY_READ, src, 1))
+               return -EFAULT;
+       return __strncpy_from_user(dst, src, count);
+}
+
 extern int __strnlen_user(const char __user *sstr, int len);
 
-#define strncpy_from_user(to, from, len)       \
-               (access_ok(VERIFY_READ, from, 1) ?      \
-                       __strncpy_user(to, from, len) : -EFAULT)
 #define strnlen_user(str, len) \
                (access_ok(VERIFY_READ, str, 1) ? __strnlen_user(str, len) : 0)