summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/uaccess.h
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2016-11-19 02:13:41 +0300
committerJonathan Corbet <corbet@lwn.net>2016-11-19 02:13:41 +0300
commit917fef6f7ee8b2fe852692ac49771342bfef9433 (patch)
treeb5932aab90d449841803b6f8679a4564ca2a6eaf /arch/arm64/include/asm/uaccess.h
parent0c9aa209579d41c9b8bf1fc39ce042bea2ec422d (diff)
parentbc33b0ca11e3df467777a4fa7639ba488c9d4911 (diff)
downloadlinux-917fef6f7ee8b2fe852692ac49771342bfef9433.tar.xz
Merge tag 'v4.9-rc4' into sound
Bring in -rc4 patches so I can successfully merge the sound doc changes.
Diffstat (limited to 'arch/arm64/include/asm/uaccess.h')
-rw-r--r--arch/arm64/include/asm/uaccess.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/uaccess.h b/arch/arm64/include/asm/uaccess.h
index bcaf6fba1b65..55d0adbf6509 100644
--- a/arch/arm64/include/asm/uaccess.h
+++ b/arch/arm64/include/asm/uaccess.h
@@ -21,6 +21,7 @@
/*
* User space memory access functions
*/
+#include <linux/bitops.h>
#include <linux/kasan-checks.h>
#include <linux/string.h>
#include <linux/thread_info.h>
@@ -102,6 +103,13 @@ static inline void set_fs(mm_segment_t fs)
flag; \
})
+/*
+ * When dealing with data aborts or instruction traps we may end up with
+ * a tagged userland pointer. Clear the tag to get a sane pointer to pass
+ * on to access_ok(), for instance.
+ */
+#define untagged_addr(addr) sign_extend64(addr, 55)
+
#define access_ok(type, addr, size) __range_ok(addr, size)
#define user_addr_max get_fs