This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2 5/7] linux: Remove SIGCANCEL/SIGSETXID handling on sigprocmask
* Adhemerval Zanella:
> On 12/12/2019 09:54, Florian Weimer wrote:
>> * Adhemerval Zanella:
>>
>>> The sigfillset already does it, and this is the canonical way to operate
>>> on sigset_t. The only way to actually broke this assumption is if caller
>>> initialize sigset with memset or something similar, i.e, bypassing glibc
>>> (and again this is not a valid construction).
>>
>> Is you argument that sigfillset already does this, and there is no way
>> to compute the complement of a signal set, so the bits for
>> SIGCANCEL and SIGSETXID can never become set?
>
> Yes.
>
>>
>> I think it's possible to set them directly using sigaddset. I don't see
>> why using SIGCANCEL/SIGSETXID with that function would be undefined.
>
> sigaddset filter out SIGCANCEL/SIGSETXID through __is_internal_signal,
> returning EINVAL for such case.
Oh, I see.
It's still not clear to me whether it is not in fact better to allow
appplications to block internal signals (from a compatibility
perspective, e.g. if the application knows that the stack pointer is
problematic).
Thanks,
Florian