1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 2 3 #include <linux/uaccess.h> 3 #include <linux/uaccess.h> 4 4 5 static inline int __get_addr(unsigned long *a, 5 static inline int __get_addr(unsigned long *a, unsigned long *p, bool user) 6 { 6 { 7 return user ? get_user(*a, (unsigned l 7 return user ? get_user(*a, (unsigned long __user *)p) : 8 get_kernel_nofault(*a, p 8 get_kernel_nofault(*a, p); 9 } 9 } 10 10 11 static inline int __get_inst16(u16 *i, u16 *p, 11 static inline int __get_inst16(u16 *i, u16 *p, bool user) 12 { 12 { 13 return user ? get_user(*i, (u16 __user 13 return user ? get_user(*i, (u16 __user *)p) : get_kernel_nofault(*i, p); 14 } 14 } 15 15 16 static inline int __get_inst32(u32 *i, u32 *p, 16 static inline int __get_inst32(u32 *i, u32 *p, bool user) 17 { 17 { 18 return user ? get_user(*i, (u32 __user 18 return user ? get_user(*i, (u32 __user *)p) : get_kernel_nofault(*i, p); 19 } 19 } 20 20
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.