aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2015-07-04 15:27:39 +0300
committerSasha Levin <sasha.levin@oracle.com>2015-10-27 22:14:46 -0400
commitb8a64ee186718fd0cd6616c907a89254f6583d3a (patch)
treeaa81ae7612220885423f754ba90e3b2850b97b9b
parent2c333eb66bca69bfadf5ae3424a3fb32037b5d48 (diff)
downloadlinux-linaro-stable-b8a64ee186718fd0cd6616c907a89254f6583d3a.tar.gz
xtensa: fix threadptr reload on return to userspace
[ Upstream commit 4229fb12a03e5da5882b420b0aa4a02e77447b86 ] 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> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-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 82bbfa5a05b3..51e9877ced06 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