From: Max Filippov Date: Sat, 4 Jul 2015 12:27:39 +0000 (+0300) Subject: xtensa: fix threadptr reload on return to userspace X-Git-Tag: firefly_0821_release~3679^2~136 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8db5a692d7f860645a4f2a2c3b822637ecdfa3bf;p=firefly-linux-kernel-4.4.55.git xtensa: fix threadptr reload on return to userspace 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index 6e53174f8556..d29bac601be5 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S @@ -549,12 +549,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