diff options
author | David S. Miller <davem@davemloft.net> | 2016-03-01 00:25:32 -0500 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2016-06-23 14:12:04 +0200 |
commit | b98a9a51b2a24c9910213b6d9403b524f435147a (patch) | |
tree | f66d32bfc92e1458e7b99c32db9a87a24a317177 | |
parent | 40fd3377ba62819f25adce3c56c32a3f6035bcbf (diff) | |
download | lwn-b98a9a51b2a24c9910213b6d9403b524f435147a.tar.gz lwn-b98a9a51b2a24c9910213b6d9403b524f435147a.zip |
sparc64: Fix sparc64_set_context stack handling.
[ 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: Jiri Slaby <jslaby@suse.cz>
-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 35923e8abd82..90f08055b7d2 100644 --- a/arch/sparc/kernel/signal_64.c +++ b/arch/sparc/kernel/signal_64.c @@ -49,7 +49,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)))) |