]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - arch/mips/include/asm/uaccess.h
Merge branch 'work.uaccess-unaligned' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-artful-kernel.git] / arch / mips / include / asm / uaccess.h
index c5fc42429ce8790056b8a59c0d07536690819b98..b713069472903c26f21c11424113765a5156d955 100644 (file)
@@ -690,60 +690,6 @@ __clear_user(void __user *addr, __kernel_size_t size)
        __cl_size;                                                      \
 })
 
-extern long __strncpy_from_kernel_nocheck_asm(char *__to, const char __user *__from, long __len);
-extern long __strncpy_from_user_nocheck_asm(char *__to, const char __user *__from, long __len);
-
-/*
- * __strncpy_from_user: - Copy a NUL terminated string from userspace, with less checking.
- * @dst:   Destination address, in kernel space.  This buffer must be at
- *        least @count bytes long.
- * @src:   Source address, in user space.
- * @count: Maximum number of bytes to copy, including the trailing NUL.
- *
- * Copies a NUL-terminated string from userspace to kernel space.
- * Caller must check the specified block with access_ok() before calling
- * this function.
- *
- * On success, returns the length of the string (not including the trailing
- * NUL).
- *
- * If access to userspace fails, returns -EFAULT (some data may have been
- * copied).
- *
- * If @count is smaller than the length of the string, copies @count bytes
- * and returns @count.
- */
-static inline long
-__strncpy_from_user(char *__to, const char __user *__from, long __len)
-{
-       long res;
-
-       if (eva_kernel_access()) {
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       "move\t$5, %2\n\t"
-                       "move\t$6, %3\n\t"
-                       __MODULE_JAL(__strncpy_from_kernel_nocheck_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (__to), "r" (__from), "r" (__len)
-                       : "$2", "$3", "$4", "$5", "$6", __UA_t0, "$31", "memory");
-       } else {
-               might_fault();
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       "move\t$5, %2\n\t"
-                       "move\t$6, %3\n\t"
-                       __MODULE_JAL(__strncpy_from_user_nocheck_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (__to), "r" (__from), "r" (__len)
-                       : "$2", "$3", "$4", "$5", "$6", __UA_t0, "$31", "memory");
-       }
-
-       return res;
-}
-
 extern long __strncpy_from_kernel_asm(char *__to, const char __user *__from, long __len);
 extern long __strncpy_from_user_asm(char *__to, const char __user *__from, long __len);
 
@@ -796,82 +742,6 @@ strncpy_from_user(char *__to, const char __user *__from, long __len)
        return res;
 }
 
-extern long __strlen_kernel_asm(const char __user *s);
-extern long __strlen_user_asm(const char __user *s);
-
-/*
- * strlen_user: - Get the size of a string in user space.
- * @str: The string to measure.
- *
- * Context: User context only. This function may sleep if pagefaults are
- *          enabled.
- *
- * Get the size of a NUL-terminated string in user space.
- *
- * Returns the size of the string INCLUDING the terminating NUL.
- * On exception, returns 0.
- *
- * If there is a limit on the length of a valid string, you may wish to
- * consider using strnlen_user() instead.
- */
-static inline long strlen_user(const char __user *s)
-{
-       long res;
-
-       if (eva_kernel_access()) {
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       __MODULE_JAL(__strlen_kernel_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (s)
-                       : "$2", "$4", __UA_t0, "$31");
-       } else {
-               might_fault();
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       __MODULE_JAL(__strlen_user_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (s)
-                       : "$2", "$4", __UA_t0, "$31");
-       }
-
-       return res;
-}
-
-extern long __strnlen_kernel_nocheck_asm(const char __user *s, long n);
-extern long __strnlen_user_nocheck_asm(const char __user *s, long n);
-
-/* Returns: 0 if bad, string length+1 (memory size) of string if ok */
-static inline long __strnlen_user(const char __user *s, long n)
-{
-       long res;
-
-       if (eva_kernel_access()) {
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       "move\t$5, %2\n\t"
-                       __MODULE_JAL(__strnlen_kernel_nocheck_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (s), "r" (n)
-                       : "$2", "$4", "$5", __UA_t0, "$31");
-       } else {
-               might_fault();
-               __asm__ __volatile__(
-                       "move\t$4, %1\n\t"
-                       "move\t$5, %2\n\t"
-                       __MODULE_JAL(__strnlen_user_nocheck_asm)
-                       "move\t%0, $2"
-                       : "=r" (res)
-                       : "r" (s), "r" (n)
-                       : "$2", "$4", "$5", __UA_t0, "$31");
-       }
-
-       return res;
-}
-
 extern long __strnlen_kernel_asm(const char __user *s, long n);
 extern long __strnlen_user_asm(const char __user *s, long n);