summaryrefslogtreecommitdiffstats
path: root/arch/xtensa
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2015-07-04 15:27:39 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2015-07-15 01:48:43 +0300
commit4229fb12a03e5da5882b420b0aa4a02e77447b86 (patch)
treedae650d8c8d25e62f98674fdabfabeabb508e257 /arch/xtensa
parent72ce6787e37a14f6aaab1a0b024f20440c961517 (diff)
downloadop-kernel-dev-4229fb12a03e5da5882b420b0aa4a02e77447b86.zip
op-kernel-dev-4229fb12a03e5da5882b420b0aa4a02e77447b86.tar.gz
xtensa: fix threadptr reload on return to userspace
Userspace return code may skip restoring THREADPTR register if there are no registers that need to be zeroed. This leads to spurious failures in libc NPTL tests. Always restore THREADPTR on return to userspace. Cc: stable@vger.kernel.org Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa')
-rw-r--r--arch/xtensa/kernel/entry.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S
index 82bbfa5..51e9877 100644
--- a/arch/xtensa/kernel/entry.S
+++ b/arch/xtensa/kernel/entry.S
@@ -568,12 +568,13 @@ user_exception_exit:
* (if we have restored WSBITS-1 frames).
*/
+2:
#if XCHAL_HAVE_THREADPTR
l32i a3, a1, PT_THREADPTR
wur a3, threadptr
#endif
-2: j common_exception_exit
+ j common_exception_exit
/* This is the kernel exception exit.
* We avoided to do a MOVSP when we entered the exception, but we
OpenPOWER on IntegriCloud