nptl: Do not set signal mask on second setjmp return [BZ #28607]
authorFlorian Weimer <fweimer@redhat.com>
Wed, 24 Nov 2021 07:59:54 +0000 (08:59 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 24 Nov 2021 07:59:54 +0000 (08:59 +0100)
commite186fc5a31e46f2cbf5ea1a75223b4412907f3d8
tree544af1b6c31ada598d75d8064ce5e48876ba3a5d
parentaac54dcd378209bbdddbcec749561b1d8f167d11
nptl: Do not set signal mask on second setjmp return [BZ #28607]

__libc_signal_restore_set was in the wrong place: It also ran
when setjmp returned the second time (after pthread_exit or
pthread_cancel).  This is observable with blocked pending
signals during thread exit.

Fixes commit b3cae39dcbfa2432b3f3aa28854d8ac57f0de1b8
("nptl: Start new threads with all signals blocked [BZ #25098]").

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
nptl/pthread_create.c
sysdeps/pthread/Makefile
sysdeps/pthread/tst-pthread-exit-signal.c [new file with mode: 0644]