blob: 5903880315035a14009d42901f9d3bf57d195255 [file] [log] [blame]
Thomas Bogendoerfer45deb5fa2021-04-01 14:56:36 +02001/* SPDX-License-Identifier: GPL-2.0 */
2
3#include <linux/uaccess.h>
4
5static inline int __get_addr(unsigned long *a, unsigned long *p, bool user)
6{
Thomas Bogendoerfer7cba4122021-04-07 01:03:48 +02007 return user ? get_user(*a, (unsigned long __user *)p) :
8 get_kernel_nofault(*a, p);
Thomas Bogendoerfer45deb5fa2021-04-01 14:56:36 +02009}
10
11static inline int __get_inst16(u16 *i, u16 *p, bool user)
12{
Thomas Bogendoerfer7cba4122021-04-07 01:03:48 +020013 return user ? get_user(*i, (u16 __user *)p) : get_kernel_nofault(*i, p);
Thomas Bogendoerfer45deb5fa2021-04-01 14:56:36 +020014}
15
16static inline int __get_inst32(u32 *i, u32 *p, bool user)
17{
Thomas Bogendoerfer7cba4122021-04-07 01:03:48 +020018 return user ? get_user(*i, (u32 __user *)p) : get_kernel_nofault(*i, p);
Thomas Bogendoerfer45deb5fa2021-04-01 14:56:36 +020019}