[Linux-Xtensa] [PATCH] xtensa: fix threadptr reload on return to userspace

Chris Zankel chris at zankel.net
Tue Jul 7 04:50:51 UTC 2015


Thanks for the fix, Max, added to my for_next tree to upstream later
this week...

On Sat, Jul 4, 2015 at 5:53 AM, Max Filippov <jcmvbkbc at gmail.com> wrote:
> 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 at vger.kernel.org
> Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
> ---
>  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
>


More information about the linux-xtensa mailing list