Commit 2ef59f28 authored by Al Viro's avatar Al Viro
Browse files

unicore32: get rid of zeroing and switch to RAW_COPY_USER



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent d597580d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ config UNICORE32
	select ARCH_WANT_FRAME_POINTERS
	select GENERIC_IOMAP
	select MODULES_USE_ELF_REL
	select ARCH_HAS_RAW_COPY_USER
	help
	  UniCore-32 is 32-bit Instruction Set Architecture,
	  including a series of low-power-consumption RISC chip
+4 −2
Original line number Diff line number Diff line
@@ -24,15 +24,17 @@
#define __access_ok(addr, size)	(__kernel_ok || __user_ok((addr), (size)))

extern unsigned long __must_check
__copy_from_user(void *to, const void __user *from, unsigned long n);
raw_copy_from_user(void *to, const void __user *from, unsigned long n);
extern unsigned long __must_check
__copy_to_user(void __user *to, const void *from, unsigned long n);
raw_copy_to_user(void __user *to, const void *from, unsigned long n);
extern unsigned long __must_check
__clear_user(void __user *addr, unsigned long n);
extern unsigned long __must_check
__strncpy_from_user(char *to, const char __user *from, unsigned long count);
extern unsigned long
__strnlen_user(const char __user *s, long n);
#define INLINE_COPY_FROM_USER
#define INLINE_COPY_TO_USER

#include <asm-generic/uaccess.h>

+2 −2
Original line number Diff line number Diff line
@@ -46,8 +46,8 @@ EXPORT_SYMBOL(__strncpy_from_user);

EXPORT_SYMBOL(copy_page);

EXPORT_SYMBOL(__copy_from_user);
EXPORT_SYMBOL(__copy_to_user);
EXPORT_SYMBOL(raw_copy_from_user);
EXPORT_SYMBOL(raw_copy_to_user);
EXPORT_SYMBOL(__clear_user);

EXPORT_SYMBOL(__ashldi3);
+6 −10
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
/*
 * Prototype:
 *
 *	size_t __copy_from_user(void *to, const void *from, size_t n)
 *	size_t raw_copy_from_user(void *to, const void *from, size_t n)
 *
 * Purpose:
 *
@@ -87,22 +87,18 @@

	.text

ENTRY(__copy_from_user)
ENTRY(raw_copy_from_user)

#include "copy_template.S"

ENDPROC(__copy_from_user)
ENDPROC(raw_copy_from_user)

	.pushsection .fixup,"ax"
	.align 0
	copy_abort_preamble
	ldm.w	(r1, r2), [sp]+
	sub	r3, r0, r1
	rsub	r2, r3, r2
	stw	r2, [sp]
	mov	r1, #0
	b.l	memset
	ldw.w	r0, [sp]+, #4
	ldm.w	(r1, r2, r3), [sp]+
	sub	r0, r0, r1
	rsub	r0, r0, r2
	copy_abort_end
	.popsection
+3 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
/*
 * Prototype:
 *
 *	size_t __copy_to_user(void *to, const void *from, size_t n)
 *	size_t raw_copy_to_user(void *to, const void *from, size_t n)
 *
 * Purpose:
 *
@@ -79,11 +79,11 @@

	.text

WEAK(__copy_to_user)
WEAK(raw_copy_to_user)

#include "copy_template.S"

ENDPROC(__copy_to_user)
ENDPROC(raw_copy_to_user)

	.pushsection .fixup,"ax"
	.align 0