mirror of https://gitee.com/openkylin/linux.git
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: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
66f4e88cc6
commit
025bd3905a
|
@ -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,
|
||||||
* 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;
|
||||||
|
|
Loading…
Reference in New Issue