summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/entry.S
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/entry.S
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/entry.S')
-rw-r--r--arch/arm64/kernel/entry.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 085d9f3..bab8334 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -30,8 +30,9 @@
#include <asm/irq.h>
#include <asm/memory.h>
#include <asm/ptrace.h>
-#include <asm/thread_info.h>
#include <asm/uaccess.h>
+#include <asm/thread_info.h>
+#include <asm/asm-uaccess.h>
#include <asm/unistd.h>
/*
@@ -428,12 +429,13 @@ el1_da:
/*
* Data abort handling
*/
- mrs x0, far_el1
+ mrs x3, far_el1
enable_dbg
// re-enable interrupts if they were enabled in the aborted context
tbnz x23, #7, 1f // PSR_I_BIT
enable_irq
1:
+ clear_address_tag x0, x3
mov x2, sp // struct pt_regs
bl do_mem_abort
@@ -594,7 +596,7 @@ el0_da:
// enable interrupts before calling the main handler
enable_dbg_and_irq
ct_user_exit
- bic x0, x26, #(0xff << 56)
+ clear_address_tag x0, x26
mov x1, x25
mov x2, sp
bl do_mem_abort