From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleg Nesterov Subject: Re: [PATCH 4/4] sigaltstack: allow disabling and re-enabling sas within sighandler Date: Mon, 1 Feb 2016 18:27:33 +0100 Message-ID: <20160201172733.GA20831@redhat.com> References: <56AE3369.2090709@list.ru> <56AE3626.7080706@list.ru> <20160201160625.GA18276@redhat.com> <56AF8E89.5090400@list.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <56AF8E89.5090400-cmBhpYW9OiY@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Stas Sergeev Cc: Linux kernel , linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andy Lutomirski , Ingo Molnar , Peter Zijlstra , Andrew Morton , Amanieu d'Antras , Richard Weinberger , Tejun Heo , "Kirill A. Shutemov" , Jason Low , Heinrich Schuchardt , Andrea Arcangeli , Konstantin Khlebnikov , Josh Triplett , "Eric W. Biederman" , Aleksa Sarai , Paul Moore , Palmer Dabbelt , Vladimir Davydov List-Id: linux-api@vger.kernel.org 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.