Commit 025bd390 authored by Dominik Brodowski's avatar Dominik Brodowski

x86: fix sys_sigreturn() return type to be long, not unsigned long

Same as with other system calls, sys_sigreturn() should return a value
of type long, not unsigned long. This also matches the behaviour for
IA32_EMULATION, see sys32_sigreturn() in arch/x86/ia32/ia32_signal.c .

Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: x86@kernel.org
Cc: Michael Tautschnig <tautschn@amazon.co.uk>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 66f4e88c
...@@ -35,7 +35,7 @@ asmlinkage long sys_get_thread_area(struct user_desc __user *); ...@@ -35,7 +35,7 @@ asmlinkage long sys_get_thread_area(struct user_desc __user *);
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
/* kernel/signal.c */ /* kernel/signal.c */
asmlinkage unsigned long sys_sigreturn(void); asmlinkage long sys_sigreturn(void);
/* kernel/vm86_32.c */ /* kernel/vm86_32.c */
struct vm86_struct; struct vm86_struct;
......
...@@ -601,7 +601,7 @@ static int x32_setup_rt_frame(struct ksignal *ksig, ...@@ -601,7 +601,7 @@ static int x32_setup_rt_frame(struct ksignal *ksig,
* Do a signal return; undo the signal stack. * Do a signal return; undo the signal stack.
*/ */
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
asmlinkage unsigned long sys_sigreturn(void) asmlinkage long sys_sigreturn(void)
{ {
struct pt_regs *regs = current_pt_regs(); struct pt_regs *regs = current_pt_regs();
struct sigframe __user *frame; struct sigframe __user *frame;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment