Re: [PATCH 4/4] sigaltstack: allow disabling and re-enabling sas within sighandler
From: Oleg Nesterov
Date: Mon Feb 01 2016 - 13:04:56 EST
On 02/01, Stas Sergeev wrote:
>
> 01.02.2016 20:09, Oleg Nesterov ÐÐÑÐÑ:
> >OK, I didn't notice you modified save_altstack_ex() to use ->sas_ss_flags instead
> >of sas_ss_flags()... still doesn't look right, in this case restore_altstack() will
> >not restore sas_ss_size/sas_ss_sp and they can be changed by signal handler.
> How?
> Trying to change them in a sighandler with sigaltstack()
> will get EPERM.
Only if on_sig_stack() and this is not true if we change the stack.
> >Anyway, whatever I missed I agree with Andy, SS_FORCE looks simpler and better to me.
>
> But perhaps you missed the most important thing, that
> it is not possible to change the altstack in sighandler - you'll
> get EPERM, even with my patch.
See above.
> But with SS_FORCE this is
> exactly not the case.
Yes, and SS_FORCE means "I know what I do", looks very simple.
> Also it would be interesting to know what do you think about
> just removing the EPERM check instead of this all.
I won't argue, but to me it would be better to keep this EPERM if !force.
Just because we should avoid the incompatible changes if possible.
Oleg.