Commit 5c49574f authored by Al Viro's avatar Al Viro

new helper: restore_altstack()

to be used by rt_sigreturn instances
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 031b6566
...@@ -385,4 +385,6 @@ int unhandled_signal(struct task_struct *tsk, int sig); ...@@ -385,4 +385,6 @@ int unhandled_signal(struct task_struct *tsk, int sig);
void signals_init(void); void signals_init(void);
int restore_altstack(const stack_t __user *);
#endif /* _LINUX_SIGNAL_H */ #endif /* _LINUX_SIGNAL_H */
...@@ -3103,6 +3103,13 @@ do_sigaltstack (const stack_t __user *uss, stack_t __user *uoss, unsigned long s ...@@ -3103,6 +3103,13 @@ do_sigaltstack (const stack_t __user *uss, stack_t __user *uoss, unsigned long s
return error; return error;
} }
int restore_altstack(const stack_t __user *uss)
{
int err = do_sigaltstack(uss, NULL, current_user_stack_pointer());
/* squash all but EFAULT for now */
return err == -EFAULT ? err : 0;
}
#ifdef __ARCH_WANT_SYS_SIGPENDING #ifdef __ARCH_WANT_SYS_SIGPENDING
/** /**
......
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