瀏覽代碼

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>
Max Filippov 10 年之前
父節點
當前提交
4229fb12a0
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/xtensa/kernel/entry.S

+ 2 - 1
arch/xtensa/kernel/entry.S

@@ -568,12 +568,13 @@ user_exception_exit:
 	 *	 (if we have restored WSBITS-1 frames).
 	 *	 (if we have restored WSBITS-1 frames).
 	 */
 	 */
 
 
+2:
 #if XCHAL_HAVE_THREADPTR
 #if XCHAL_HAVE_THREADPTR
 	l32i	a3, a1, PT_THREADPTR
 	l32i	a3, a1, PT_THREADPTR
 	wur	a3, threadptr
 	wur	a3, threadptr
 #endif
 #endif
 
 
-2:	j	common_exception_exit
+	j	common_exception_exit
 
 
 	/* This is the kernel exception exit.
 	/* This is the kernel exception exit.
 	 * We avoided to do a MOVSP when we entered the exception, but we
 	 * We avoided to do a MOVSP when we entered the exception, but we