parisc: Add hardened usercopy feature
Helge Deller
maintainerPATCH 1/1 parisc: Add hardened usercopy feature
Add hardened usercopy checks to parisc architecture and clean up indenting.
Signed-off-by Helge Deller <[email protected]>
arch/parisc/Kconfig +1 -0
@@ -24,6 +24,7 @@ config PARISC select SYSCTL_ARCH_UNALIGN_ALLOW select SYSCTL_EXCEPTION_TRACE select HAVE_MOD_ARCH_SPECIFIC + select HAVE_ARCH_HARDENED_USERCOPY select VIRT_TO_BUS select MODULES_USE_ELF_RELA select CLONE_BACKWARDS
arch/parisc/include/asm/uaccess.h +34 -14
73 lines not on this page · raw message
arch/parisc/lib/memcpy.c +6 -5
@@ -489,20 +489,23 @@ static unsigned long pa_memcpy(void *dstp, const void *srcp, unsigned long len) }#ifdef __KERNEL__ -unsigned long copy_to_user (void __user *dst,const void *src,unsigned long len) +unsigned long __copy_to_user (void __user *dst,const void *src, +unsigned long len) {mtsp (get_kernel_space (),1 );mtsp (get_user_space (),2 );return pa_memcpy ((void __force *)dst, src, len); } +EXPORT_SYMBOL (__copy_to_user); -EXPORT_SYMBOL (__copy_from_user); -unsigned long __copy_from_user (void *dst,const void __user *src,unsigned long len) +unsigned long __copy_from_user (void *dst,const void __user *src, +unsigned long len) {mtsp (get_user_space (),1 );mtsp (get_kernel_space (),2 );return pa_memcpy (dst, (void __force *)src, len); } +EXPORT_SYMBOL (__copy_from_user);unsigned long copy_in_user (void __user *dst,const void __user *src,unsigned long len) {
@@ -520,8 +523,6 @@ void * memcpy(void * dst,const void *src, size_t count)return dst; } -EXPORT_SYMBOL (copy_to_user); -EXPORT_SYMBOL (copy_from_user);EXPORT_SYMBOL (copy_in_user);EXPORT_SYMBOL (memcpy);