xtensa: fix threadptr reload on return to userspace
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 4 Jul 2015 12:27:39 +0000 (15:27 +0300)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 14 Jul 2015 22:48:43 +0000 (01:48 +0300)
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>
arch/xtensa/kernel/entry.S

index 82bbfa5a05b34389c0947b2846bc68d49282c2a7..51e9877ced06ac0a97a369f94719437409679dd1 100644 (file)
@@ -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
This page took 0.05978 seconds and 5 git commands to generate.