summary refs log tree commit diff
path: root/arch/sparc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-03-01 00:25:32 -0500
committerDavid S. Miller <davem@davemloft.net>2016-03-01 00:25:32 -0500
commit397d1533b6cce0ccb5379542e2e6d079f6936c46 (patch)
tree3bc2b265f12ca9bbe1d3e4dc7b37f64970cfc89f /arch/sparc
parent22be3b105597002ad3499bdb9c0aba49c9ab05f7 (diff)
downloadlinux-397d1533b6cce0ccb5379542e2e6d079f6936c46.tar.gz
sparc64: Fix sparc64_set_context stack handling.
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>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/signal_64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc/kernel/signal_64.c b/arch/sparc/kernel/signal_64.c
index d88beff47bab..39aaec173f66 100644
--- a/arch/sparc/kernel/signal_64.c
+++ b/arch/sparc/kernel/signal_64.c
@@ -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))))