summaryrefslogtreecommitdiffstats
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
linux-397d1533b6cce0ccb5379542e2e6d079f6936c46.tar.bz2
linux-397d1533b6cce0ccb5379542e2e6d079f6936c46.zip
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))))