sparc64: Fix sparc64_set_context stack handling.
authorDavid S. Miller <davem@davemloft.net>
Tue, 1 Mar 2016 05:25:32 +0000 (00:25 -0500)
committerSasha Levin <sasha.levin@oracle.com>
Tue, 12 Jul 2016 12:48:24 +0000 (08:48 -0400)
[ Upstream commit 397d1533b6cce0ccb5379542e2e6d079f6936c46 ]

Like a signal return, we should use synchronize_user_stack() rather
than flush_user_windows().

Reported-by: Ilya Malakhov <ilmalakhovthefirst@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/sparc/kernel/signal_64.c

index 1a699986803158023c60cb9603bbf1dfbc0bab6f..479e3805765db024bf81d2dc0b35187d10ebc990 100644 (file)
@@ -52,7 +52,7 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs)
        unsigned char fenab;
        int err;
 
-       flush_user_windows();
+       synchronize_user_stack();
        if (get_thread_wsaved()                                 ||
            (((unsigned long)ucp) & (sizeof(unsigned long)-1))  ||
            (!__access_ok(ucp, sizeof(*ucp))))