Commit 19dbf70c authored by Al Viro's avatar Al Viro
Browse files

mn10300: switch to RAW_COPY_USER



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 4df3715e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ config MN10300
	select OLD_SIGACTION
	select HAVE_DEBUG_STACKOVERFLOW
	select ARCH_NO_COHERENT_DMA_MMAP
	select ARCH_HAS_RAW_COPY_USER

config AM33_2
	def_bool n
+4 −33
Original line number Diff line number Diff line
@@ -275,49 +275,20 @@ do { \
	}								\
} while (0)

/* We let the __ versions of copy_from/to_user inline, because they're often
 * used in fast paths and have only a small space overhead.
 */
static inline
unsigned long __copy_from_user_inatomic(void *to, const void __user *from,
					       unsigned long n)
static inline unsigned long
raw_copy_from_user(void *to, const void __user *from, unsigned long n)
{
	__copy_user(to, from, n);
	return n;
}

static inline
unsigned long __copy_to_user_inatomic(void __user *to, const void *from,
					     unsigned long n)
static inline unsigned long
raw_copy_to_user(void __user *to, const void *from, unsigned long n)
{
	__copy_user(to, from, n);
	return n;
}


extern unsigned long __generic_copy_to_user(void __user *, const void *,
					    unsigned long);
extern unsigned long __generic_copy_from_user(void *, const void __user *,
					      unsigned long);

static inline unsigned long __copy_to_user(void __user *to, const void *from,
						unsigned long n)
{
	might_fault();
	return __copy_to_user_inatomic(to, from, n);
}

static inline unsigned long __copy_from_user(void *to, const void __user *from,
						unsigned long n)
{
	might_fault();
	return __copy_from_user_inatomic(to, from, n);
}


#define copy_to_user(to, from, n)   __generic_copy_to_user((to), (from), (n))
#define copy_from_user(to, from, n) __generic_copy_from_user((to), (from), (n))

extern long strncpy_from_user(char *dst, const char __user *src, long count);
extern long __strncpy_from_user(char *dst, const char __user *src, long count);
extern long strnlen_user(const char __user *str, long n);
+0 −2
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@ EXPORT_SYMBOL(strncpy_from_user);
EXPORT_SYMBOL(__strncpy_from_user);
EXPORT_SYMBOL(clear_user);
EXPORT_SYMBOL(__clear_user);
EXPORT_SYMBOL(__generic_copy_from_user);
EXPORT_SYMBOL(__generic_copy_to_user);
EXPORT_SYMBOL(strnlen_user);

extern u64 __ashrdi3(u64, unsigned);
+0 −19
Original line number Diff line number Diff line
@@ -11,25 +11,6 @@
 */
#include <linux/uaccess.h>

unsigned long
__generic_copy_to_user(void *to, const void *from, unsigned long n)
{
	if (access_ok(VERIFY_WRITE, to, n))
		__copy_user(to, from, n);
	return n;
}

unsigned long
__generic_copy_from_user(void *to, const void *from, unsigned long n)
{
	unsigned long res = n;
	if (access_ok(VERIFY_READ, from, res))
		__copy_user(to, from, res);
	if (unlikely(res))
		memset(to + n - res, 0, res);
	return res;
}

/*
 * Copy a null terminated string from userspace.
 */