linux/arch/x86/include/asm/uaccess_32.h
<<
>>
Prefs
   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
  12unsigned long __must_check __copy_user_ll
  13                (void *to, const void *from, unsigned long n);
  14unsigned long __must_check __copy_from_user_ll_nocache_nozero
  15                (void *to, const void __user *from, unsigned long n);
  16
  17static __always_inline unsigned long __must_check
  18raw_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
  23static __always_inline unsigned long
  24raw_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
  29static __always_inline unsigned long
  30__copy_from_user_inatomic_nocache(void *to, const void __user *from,
  31                                  unsigned long n)
  32{
  33       return __copy_from_user_ll_nocache_nozero(to, from, n);
  34}
  35
  36#endif /* _ASM_X86_UACCESS_32_H */
  37