Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
7a8998c9 CH |
2 | #ifndef _ASM_GENERIC_FLAT_H |
3 | #define _ASM_GENERIC_FLAT_H | |
acc46c01 | 4 | |
468138d7 AV |
5 | #include <linux/uaccess.h> |
6 | ||
468138d7 | 7 | static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags, |
6843d8aa | 8 | u32 *addr) |
468138d7 AV |
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 | ||
17 | static 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 | ||
7a8998c9 | 26 | #endif /* _ASM_GENERIC_FLAT_H */ |