Consensus on MT-, AS- and AC-Safety docs.

Florian Weimer fweimer@redhat.com
Tue Dec 3 14:17:00 GMT 2013


On 11/29/2013 06:58 PM, Rich Felker wrote:
> On Fri, Nov 29, 2013 at 12:21:02AM -0500, Carlos O'Donell wrote:
>> All we need to do is extend the kernel infrastructure to create
>> a signal entry trampoline like it does for signal return. This isn't
>> impossible, but requires work.
>
> Kernel help is not required for this. You just set set the signal
> handler address to your wrapper in libc when making the rt_sigaction
> syscall, and then have the wrapper call the real signal handler
> function, whose address is stored in userspace. There are some nasty
> atomicity/synchronization issues to cover with the race window between
> the rt_sigaction syscall (which might change flags affecting how the
> signal handler runs even though the new handler address will always be
> the same) and replacing the pointer in userspace, and keeping this
> entire operation AS-safe, but I'm pretty sure it's possible.

What should we do about this?  Try to get clarification from Austin 
Group first what's the intended behavior here, or if they intend to 
specify a certain behavior in the future?

-- 
Florian Weimer / Red Hat Product Security Team



More information about the Libc-alpha mailing list