[PATCH v5 0/3] NPTL synchronization fixes

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Nov 26 12:36:27 GMT 2025


It seems that this issues has triggered another problem [1], and the
BZ 19951 [2] report has other two different reports where pthread_detach
is triggering an synchronization issue.

Changes from v4 [3]:
* Rebased against master.
* Reword some comments.

[1] https://sourceware.org/pipermail/libc-alpha/2025-November/172867.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=19951
[3] https://patchwork.sourceware.org/project/glibc/list/?series=50344

Adhemerval Zanella (3):
  nptl: Set cancellation type and state on pthread_exit (BZ #28267)
  nptl: Do not use pthread set_tid_address as state synchronization (BZ
    #19951)
  nptl: Remove INVALID_TD_P

 nptl/Makefile                        |   1 +
 nptl/descr.h                         |  26 +++---
 nptl/nptl-stack.h                    |   2 +-
 nptl/pthread_cancel.c                |   3 +-
 nptl/pthread_clockjoin.c             |   2 +-
 nptl/pthread_create.c                |  42 +++++++--
 nptl/pthread_detach.c                |  40 ++++----
 nptl/pthread_getattr_np.c            |   2 +-
 nptl/pthread_getcpuclockid.c         |   2 +-
 nptl/pthread_getschedparam.c         |   2 +-
 nptl/pthread_join.c                  |   2 +-
 nptl/pthread_join_common.c           | 122 +++++++++----------------
 nptl/pthread_setschedparam.c         |   2 +-
 nptl/pthread_setschedprio.c          |   2 +-
 nptl/pthread_timedjoin.c             |   2 +-
 nptl/pthread_tryjoin.c               |  19 ++--
 nptl/tst-cleanup5.c                  | 131 +++++++++++++++++++++++++++
 sysdeps/nptl/dl-tls_init_tp.c        |   3 +-
 sysdeps/nptl/libc_start_call_main.h  |   6 ++
 sysdeps/nptl/pthreadP.h              |  23 ++++-
 sysdeps/pthread/Makefile             |   1 +
 sysdeps/pthread/tst-pthread-exited.c | 106 ++++++++++++++++++++++
 sysdeps/pthread/tst-thrd-detach.c    |   6 +-
 23 files changed, 401 insertions(+), 146 deletions(-)
 create mode 100644 nptl/tst-cleanup5.c
 create mode 100644 sysdeps/pthread/tst-pthread-exited.c

-- 
2.43.0



More information about the Libc-alpha mailing list