summaryrefslogtreecommitdiff
path: root/arch/mips/kernel/access-helper.h
diff options
context:
space:
mode:
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>2021-04-01 15:56:36 +0300
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2021-04-06 15:36:56 +0300
commit45deb5faeb9e02951361ceba5ffee721745661c3 (patch)
tree0f5576da6a6c4bb0cf648ea92427c1b5c9b57b06 /arch/mips/kernel/access-helper.h
parent08ee3a009f49ac160cf8df0b65aa7dc299c811b2 (diff)
downloadlinux-45deb5faeb9e02951361ceba5ffee721745661c3.tar.xz
MIPS: uaccess: Remove get_fs/set_fs call sites
Use new helpers to access user/kernel for functions, which are used with user/kernel pointers. Instead of dealing with get_fs/set_fs select user/kernel access via parameter. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'arch/mips/kernel/access-helper.h')
-rw-r--r--arch/mips/kernel/access-helper.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/mips/kernel/access-helper.h b/arch/mips/kernel/access-helper.h
new file mode 100644
index 000000000000..dd5b502813b8
--- /dev/null
+++ b/arch/mips/kernel/access-helper.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <linux/uaccess.h>
+
+static inline int __get_addr(unsigned long *a, unsigned long *p, bool user)
+{
+ return user ? get_user(*a, p) : get_kernel_nofault(*a, p);
+}
+
+static inline int __get_inst16(u16 *i, u16 *p, bool user)
+{
+ return user ? get_user(*i, p) : get_kernel_nofault(*i, p);
+}
+
+static inline int __get_inst32(u32 *i, u32 *p, bool user)
+{
+ return user ? get_user(*i, p) : get_kernel_nofault(*i, p);
+}