1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _ASM_X86_UACCESS_32_H 3 #define _ASM_X86_UACCESS_32_H 4 5 /* 6 * User space memory access functions 7 */ 8 #include <linux/string.h> 9 #include <asm/asm.h> 10 #include <asm/page.h> 11 12 unsigned long __must_check __copy_user_ll 13 (void *to, const void *from, unsigned long n); 14 unsigned long __must_check __copy_from_user_ll_nocache_nozero 15 (void *to, const void __user *from, unsigned long n); 16 17 static __always_inline unsigned long __must_check 18 raw_copy_to_user(void __user *to, const void *from, unsigned long n) 19 { 20 return __copy_user_ll((__force void *)to, from, n); 21 } 22 23 static __always_inline unsigned long 24 raw_copy_from_user(void *to, const void __user *from, unsigned long n) 25 { 26 return __copy_user_ll(to, (__force const void *)from, n); 27 } 28 29 unsigned long __must_check copy_from_user_inatomic_nontemporal(void *, const void __user *, unsigned long n); 30 unsigned long __must_check clear_user(void __user *mem, unsigned long len); 31 unsigned long __must_check __clear_user(void __user *mem, unsigned long len); 32 33 #endif /* _ASM_X86_UACCESS_32_H */ 34