[PATCH 4/4] signal: Only handle on NSIG signals on signal functions (BZ #25657)

Florian Weimer fw@deneb.enyo.de
Tue Apr 21 12:53:31 GMT 2020


* Adhemerval Zanella via Libc-alpha:

> The upper bits of the sigset_t s not fully initialized in the signal
> mask calls that return information from kernel (sigprocmask,
> sigpending, and pthread_sigmask), since the exported sigset_t size
> (1024 bits) is larger than Linux support one (64 or 128 bits).
> It might make sigisemptyset/sigorset/sigandset fail if the mask
> is filled prior the call.
>
> This patch changes the internal signal function to handle up to
> supported Linux signal number (_NSIG), the remaining bits are
> untouched.

Sorry, I have trouble what the intended outcome of this change is.

What is the expected behavior here?  We have an overly large sigset_t,
but only signal numbers from 0 to NSIG - 1 (inclusive) are valid in
all function calls?


More information about the Libc-alpha mailing list