Re: [PATCH 2/2] do_rt_sigreturn provide the target sp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Bob Picco <bpicco@xxxxxxxxxx>
Date: Thu, 27 Sep 2012 11:36:45 -0400

> do_sigaltstack expects the stack we are returning to. An issue will manifest
> with an alternate stack. That is, a sigaltstack followed by a sigaction
> (aka. rt_sigaction) with SA_ONSTACK for flags will sigsegv. do_sigaltstack
> returns -EPERM having found on_sig_stack to be true and a sigsegv results.
> 
> Let's teach do_rt_sigreturn to provide do_sigaltstack with our target stack.

"sf" is our target stack frame in the stack frame pointed to by
UREG_FP.

You really haven't described the real reason why this doesn't work
as-is, and therefore your commit message is inadequate and made me do
a lot of work I shouldn't have to do.

Your commit message implies that we are not passing in something
related to the stack frame, but we actually are.

And if this location is wrong, why didn't you update all of the other
do_sigaltstack() callers in the sparc port.  By your description they
should be wrong too.

But those cases don't matter like this one does.  This case here is
special, but you haven't described what is so unique about this case
which causes only it to need special handling.

Do you know the real reason why it fails without your change?
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux