Re: [PATCH v3 1/2] x86_64,signal: Fix SS handling for signals delivered to 64-bit programs

Oleg Nesterov
2015-03-20T14:09:40Z

I do not have a strong opinion, I leave this to you and Andy...

But,

On 03/20, Cyrill Gorcunov wrote:
> On Fri, Mar 20, 2015 at 02:56:22PM +0300, Cyrill Gorcunov wrote:
> > > >
> > > > fwiw currently we're passing zero in this __pad0 (replying to your
> > > > previous email, so we can workaround in the kernel assuming zero
> > > > as a special case, not that good but better than nothing).
> > >
> > > Special-casing zero sounds not that bad to me.
> > > It can be removed after a few years

If we add this special case now, I am not sure we can remove it later.

> > > just don't forget
> > > to document it in a good comment

and perhaps with WARN_ON_ONCE().

> | The only real down side I can see to special casing zero is that it
> | really is possible to end up with zero in there. For example, the
> | SIGSEGV you get do to the failed sigreturn probably has sigcontext->ss
> | == 0 :)
>
> which I don't know how to resolve.

Another downside (to me) is that this special case can help, but only
"by accident".

For example, criu has ->ss = 0, but it was not initialized explicitly.

But as I said, I won't argue.

Oleg.