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: [email protected]
Signed-off-by: Max Filippov <[email protected]>
---
 arch/xtensa/kernel/entry.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S
index ab6a857..8985339 100644
--- a/arch/xtensa/kernel/entry.S
+++ b/arch/xtensa/kernel/entry.S
@@ -578,12 +578,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
-- 
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to