Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59f0cb0f authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] remove memzero()



As suggested by Andrew Morton, remove memzero() - it's not supported
on other architectures so use of it is a potential build breaking bug.
Since the compiler optimizes memset(x,0,n) to __memzero() perfectly
well, we don't miss out on the underlying benefits of memzero().

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent ed313489
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ static void putstr(const char *ptr)

#define __ptr_t void *

#define memzero(s,n) __memzero(s,n)

/*
 * Optimised C version of memzero for the ARM.
 */
+1 −1
Original line number Diff line number Diff line
@@ -133,7 +133,7 @@ extern void __cpu_copy_user_page(void *to, const void *from,
#define clear_user_page(addr,vaddr,pg)	 __cpu_clear_user_page(addr, vaddr)
#define copy_user_page(to,from,vaddr,pg) __cpu_copy_user_page(to, from, vaddr)

#define clear_page(page)	memzero((void *)(page), PAGE_SIZE)
#define clear_page(page)	memset((void *)(page), 0, PAGE_SIZE)
extern void copy_page(void *to, const void *from);

#undef STRICT_MM_TYPECHECKS
+1 −1
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ struct thread_struct {
({									\
	unsigned long *stack = (unsigned long *)sp;			\
	set_fs(USER_DS);						\
	memzero(regs->uregs, sizeof(regs->uregs));			\
	memset(regs->uregs, 0, sizeof(regs->uregs));			\
	if (current->personality & ADDR_LIMIT_32BIT)			\
		regs->ARM_cpsr = USR_MODE;				\
	else								\
+0 −9
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ extern void * memmove(void *, const void *, __kernel_size_t);
#define __HAVE_ARCH_MEMCHR
extern void * memchr(const void *, int, __kernel_size_t);

#define __HAVE_ARCH_MEMZERO
#define __HAVE_ARCH_MEMSET
extern void * memset(void *, int, __kernel_size_t);

@@ -39,12 +38,4 @@ extern void __memzero(void *ptr, __kernel_size_t n);
		(__p);							\
	})

#define memzero(p,n) 							\
	({ 								\
	 	void *__p = (p); size_t __n = n;			\
	 	if ((__n) != 0) 					\
	 		__memzero((__p),(__n)); 			\
	 	(__p); 							\
	 })

#endif
+1 −1
Original line number Diff line number Diff line
@@ -400,7 +400,7 @@ static inline unsigned long __must_check copy_from_user(void *to, const void __u
	if (access_ok(VERIFY_READ, from, n))
		n = __copy_from_user(to, from, n);
	else /* security hole - plug it */
		memzero(to, n);
		memset(to, 0, n);
	return n;
}

Loading