]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xtensa: fix threadptr reload on return to userspace
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 4 Jul 2015 12:27:39 +0000 (15:27 +0300)
committerLuis Henriques <luis.henriques@canonical.com>
Mon, 28 Sep 2015 09:21:31 +0000 (10:21 +0100)
commit 4229fb12a03e5da5882b420b0aa4a02e77447b86 upstream.

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.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
arch/xtensa/kernel/entry.S

index a06b7efaae82454af75f5c44b943492275059cc6..8a749f02d8d61ff95cfc23b283f83f7a1b313236 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