diff options
author | David S. Miller <davem@davemloft.net> | 2016-03-01 00:25:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-01 00:25:32 -0500 |
commit | 397d1533b6cce0ccb5379542e2e6d079f6936c46 (patch) | |
tree | 3bc2b265f12ca9bbe1d3e4dc7b37f64970cfc89f /arch/sparc | |
parent | 22be3b105597002ad3499bdb9c0aba49c9ab05f7 (diff) | |
download | linux-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.c | 2 |
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)))) |