summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/traps.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2017-06-15 10:06:27 (GMT)
committerAlex Shi <alex.shi@linaro.org>2017-06-15 10:34:39 (GMT)
commit841d681618d81ee303ef0603eb6940b02f0981f2 (patch)
tree1904d583b6a58e576d18df1a9e412c333b309f10 /arch/arm64/kernel/traps.c
parent4612ed6853c073deb31340a88a44115ae351d8b6 (diff)
parent05afd4c0af6a43f6bda7caaacb01bc0116d50d3b (diff)
downloadlinux-841d681618d81ee303ef0603eb6940b02f0981f2.tar.xz
Merge remote-tracking branch 'lts/linux-4.9.y' into linux-linaro-lsk-v4.9
Conflicts: arch/arm64/kernel/entry.S compatiable with PAN in arch/arm64/kernel/traps.c
Diffstat (limited to 'arch/arm64/kernel/traps.c')
-rw-r--r--arch/arm64/kernel/traps.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index 659b2e6..7501b40 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -440,7 +440,7 @@ int cpu_enable_cache_maint_trap(void *__unused)
}
#define __user_cache_maint(insn, address, res) \
- if (untagged_addr(address) >= user_addr_max()) { \
+ if (address >= user_addr_max()) { \
res = -EFAULT; \
} else { \
uaccess_ttbr0_enable(); \
@@ -466,7 +466,7 @@ static void user_cache_maint_handler(unsigned int esr, struct pt_regs *regs)
int crm = (esr & ESR_ELx_SYS64_ISS_CRM_MASK) >> ESR_ELx_SYS64_ISS_CRM_SHIFT;
int ret = 0;
- address = (rt == 31) ? 0 : regs->regs[rt];
+ address = (rt == 31) ? 0 : untagged_addr(regs->regs[rt]);
switch (crm) {
case ESR_ELx_SYS64_ISS_CRM_DC_CVAU: /* DC CVAU, gets promoted */