On 02/01, Stas Sergeev wrote: > > >So the sequence is > > > > // running on alt stack > > > > sigaltstack(SS_DISABLE); > > > > temporary_run_on_another_stack(); > > > > sigaltstack(SS_ONSTACK); > > > >and SS_DISABLE saves us from another SA_ONSTACK signal, right? > Yes. > Note: there is a test-case in that patch serie from which > you can see or copy/paste the sample code. OK, I wasn't cc'ed > >But afaics it can only help after we change the stack. Suppose that SA_ONSTACK signal > >comess before temporary_run_on_another_stack(). get_sigframe() should be fine after > >your changes (afaics), it won't pick the alt stack after SS_DISABLE. > > > >However, unless I missed something save_altstack_ex() will record SS_ONSTACK in > >uc_stack->ss_flags, and after return from signal handler restore_altstack() will > >enable alt stack again? > I don't think so. Please see the following hunk: Yes, see another email, I already noticed this change. > So I understand this is very confusing, but I think the patch > is correct. Not sure, but I can hardly read this patch and I can't apply it. > Do you think adding the SS_FORCE flag would be a better solution? Yes, certainly. I see no point to remember that a thread actually has the alt stack but it was disabled. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html