linux/include/asm-generic/flat.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _ASM_GENERIC_FLAT_H
   3#define _ASM_GENERIC_FLAT_H
   4
   5#include <linux/uaccess.h>
   6
   7static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
   8                u32 *addr)
   9{
  10#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  11        return copy_from_user(addr, rp, 4) ? -EFAULT : 0;
  12#else
  13        return get_user(*addr, rp);
  14#endif
  15}
  16
  17static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
  18{
  19#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  20        return copy_to_user(rp, &addr, 4) ? -EFAULT : 0;
  21#else
  22        return put_user(addr, rp);
  23#endif
  24}
  25
  26#endif /* _ASM_GENERIC_FLAT_H */
  27