diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2015-07-04 15:27:39 +0300 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2015-07-15 01:48:43 +0300 |
commit | 4229fb12a03e5da5882b420b0aa4a02e77447b86 (patch) | |
tree | dae650d8c8d25e62f98674fdabfabeabb508e257 | |
parent | 72ce6787e37a14f6aaab1a0b024f20440c961517 (diff) | |
download | linux-4229fb12a03e5da5882b420b0aa4a02e77447b86.tar.xz |
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>
-rw-r--r-- | arch/xtensa/kernel/entry.S | 3 |
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 |