diff options
| author | Geert Uytterhoeven <geert@linux-m68k.org> | 2012-05-29 23:30:08 +0200 | 
|---|---|---|
| committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2012-06-06 15:31:28 +0200 | 
| commit | d8ce7263e1bc3b6b2b906fec0c5037bc27d21d6a (patch) | |
| tree | 700796dc3c5c5068d82d159b020d7a7fa50144c8 /arch/m68k/lib | |
| parent | f8f5701bdaf9134b1f90e5044a82c66324d2073f (diff) | |
m68k: Use generic strncpy_from_user(), strlen_user(), and strnlen_user()
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k/lib')
| -rw-r--r-- | arch/m68k/lib/uaccess.c | 74 | 
1 files changed, 0 insertions, 74 deletions
| diff --git a/arch/m68k/lib/uaccess.c b/arch/m68k/lib/uaccess.c index 5664386338da..5e97f2ee7c11 100644 --- a/arch/m68k/lib/uaccess.c +++ b/arch/m68k/lib/uaccess.c @@ -104,80 +104,6 @@ unsigned long __generic_copy_to_user(void __user *to, const void *from,  EXPORT_SYMBOL(__generic_copy_to_user);  /* - * Copy a null terminated string from userspace. - */ -long strncpy_from_user(char *dst, const char __user *src, long count) -{ -	long res; -	char c; - -	if (count <= 0) -		return count; - -	asm volatile ("\n" -		"1:	"MOVES".b	(%2)+,%4\n" -		"	move.b	%4,(%1)+\n" -		"	jeq	2f\n" -		"	subq.l	#1,%3\n" -		"	jne	1b\n" -		"2:	sub.l	%3,%0\n" -		"3:\n" -		"	.section .fixup,\"ax\"\n" -		"	.even\n" -		"10:	move.l	%5,%0\n" -		"	jra	3b\n" -		"	.previous\n" -		"\n" -		"	.section __ex_table,\"a\"\n" -		"	.align	4\n" -		"	.long	1b,10b\n" -		"	.previous" -		: "=d" (res), "+a" (dst), "+a" (src), "+r" (count), "=&d" (c) -		: "i" (-EFAULT), "0" (count)); - -	return res; -} -EXPORT_SYMBOL(strncpy_from_user); - -/* - * Return the size of a string (including the ending 0) - * - * Return 0 on exception, a value greater than N if too long - */ -long strnlen_user(const char __user *src, long n) -{ -	char c; -	long res; - -	asm volatile ("\n" -		"1:	subq.l	#1,%1\n" -		"	jmi	3f\n" -		"2:	"MOVES".b	(%0)+,%2\n" -		"	tst.b	%2\n" -		"	jne	1b\n" -		"	jra	4f\n" -		"\n" -		"3:	addq.l	#1,%0\n" -		"4:	sub.l	%4,%0\n" -		"5:\n" -		"	.section .fixup,\"ax\"\n" -		"	.even\n" -		"20:	sub.l	%0,%0\n" -		"	jra	5b\n" -		"	.previous\n" -		"\n" -		"	.section __ex_table,\"a\"\n" -		"	.align	4\n" -		"	.long	2b,20b\n" -		"	.previous\n" -		: "=&a" (res), "+d" (n), "=&d" (c) -		: "0" (src), "r" (src)); - -	return res; -} -EXPORT_SYMBOL(strnlen_user); - -/*   * Zero Userspace   */ | 
