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

Cyrill Gorcunov
2015-03-18T18:50:32Z

On Wed, Mar 18, 2015 at 07:31:33PM +0100, Oleg Nesterov wrote:
> On 03/18, Cyrill Gorcunov wrote:
> >
> > On Wed, Mar 18, 2015 at 06:48:43PM +0100, Oleg Nesterov wrote:
> > >
> > > Shot in a dark afer a quick grep: restore_gpregs() should initialize ->ss?
> >
> > It hasn't been needed earlier, if this would help it means abi is broken, no? :)
> > Otherwise I don't understand what's happening.
>
> until this commit the kernel simply forgot to restore ->ss in sigreturn().
>
> after this commit, if your rt_sigframe has garbage in ->ss then SIGSEGV
> is clear.

OK, so setting up a proper ss here should fix problem.

> > >
> > > Seriously, where is UserX86RegsEntry?
> >
> > It's in protobif/core-x86.proto, welcome to protobuf hell.
>
> Still can't find UserX86RegsEntry... OK, perhaps it comes from
> user_x86_regs_entry in protobuf/core-x86.proto. Then I guess the patch I sent
> can be compiled at least ;)

Yeah, protobuf-c mangles "_" in message name so user_x86_regs_entry -> UserX86RegsEntry.
Andrew should be able to test it tomorrow (hopefully it's no urgent right? ;)