mirror of https://gitee.com/openkylin/linux.git
powerpc: use non-set_fs based maccess routines
Provide __get_kernel_nofault and __put_kernel_nofault routines to implement the maccess routines without messing with set_fs and without opening up access to user space. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
47058bb54b
commit
c331652534
|
@ -623,4 +623,20 @@ do { \
|
||||||
__put_user_goto(*(u8*)(_src + _i), (u8 __user *)(_dst + _i), e);\
|
__put_user_goto(*(u8*)(_src + _i), (u8 __user *)(_dst + _i), e);\
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#define HAVE_GET_KERNEL_NOFAULT
|
||||||
|
|
||||||
|
#define __get_kernel_nofault(dst, src, type, err_label) \
|
||||||
|
do { \
|
||||||
|
int __kr_err; \
|
||||||
|
\
|
||||||
|
__get_user_size_allowed(*((type *)(dst)), (__force type __user *)(src),\
|
||||||
|
sizeof(type), __kr_err); \
|
||||||
|
if (unlikely(__kr_err)) \
|
||||||
|
goto err_label; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define __put_kernel_nofault(dst, src, type, err_label) \
|
||||||
|
__put_user_size_goto(*((type *)(src)), \
|
||||||
|
(__force type __user *)(dst), sizeof(type), err_label)
|
||||||
|
|
||||||
#endif /* _ARCH_POWERPC_UACCESS_H */
|
#endif /* _ARCH_POWERPC_UACCESS_H */
|
||||||
|
|
Loading…
Reference in New Issue