[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a5565692-7f23-d236-3b01-142088310741@gmail.com>
Date: Mon, 30 Oct 2017 11:04:58 +0100
From: "Michael Kerrisk (man-pages)" <mtk.manpages@...il.com>
To: Stas Sergeev <stsp@...t.ru>
Cc: mtk.manpages@...il.com, linux-man <linux-man@...r.kernel.org>,
Andy Lutomirski <luto@...capital.net>,
Oleg Nesterov <oleg@...hat.com>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: Documenting sigaltstack SS_AUTODISRM
[So, things fell on the floor, a while back.]
On 05/25/2017 11:17 AM, Stas Sergeev wrote:
> 24.05.2017 14:09, Michael Kerrisk (man-pages) пишет:
>> One could do this I suppose, but I read POSIX differently from
>> you and, more importantly, SS_ONSTACK breaks portability on
>> numerous other systems and is a no-op on Linux. So, the Linux man
>> page really should warn against its use in the strongest terms.
> So how about instead of the strongest terms towards
> the code's author, just explain that SS_ONSTACK is a
> bit-value on some/many OSes, and as such, 0 is a
> valid value to enable sas on them, plus all the other
> values would give EINVAL?
> No strongest terms will help w/o an explanation,
> because people will keep looking for something that
> suits as a missing SS_ENABLE.
Fair enough. I've removed the statement in the manual page
about "confusion". By now the page says:
BUGS
In the lead up to the release of the Linux 2.4 kernel, a change
was made to allow sigaltstack() to accept SS_ONSTACK in
ss.ss_flags, which results in behavior that is the same as when
ss_flags is 0 (i.e., the inclusion of SS_ONSTACK in ss.ss_flags is
a no-op). On other implementations, and according to POSIX.1,
SS_ONSTACK appears only as a reported flag in old_ss.ss_flags. On
Linux, there is no need ever to specify this flag in ss.ss_flags,
and indeed doing so should be avoided on portability grounds: var‐
ious other systems give an error if SS_ONSTACK is specified in
ss.ss_flags.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
Powered by blists - more mailing lists