[0/6] More NPTL fixes

Message ID 20210610193639.3650754-1-adhemerval.zanella@linaro.org
Headers
Series More NPTL fixes |

Message

Adhemerval Zanella June 10, 2021, 7:36 p.m. UTC
  This patch fixes a couple of NPTL issues and continue to refactor the
cancellation code to simplify the required synchronization.

Adhemerval Zanella (6):
  nptl: Fix tst-cancel7 and tst-cancelx7 race condition (BZ #14232)
  nptl: Set cancellation type and state on pthread_exit
  nptl: Handle robust PI mutexes for !__ASSUME_SET_ROBUST_LIST
  nptl: Do not use pthread set_tid_address as state synchronization (BZ
    #19951)
  nptl: Move setxid flag out of cancelhandling
  nptl: Replace struct thread cancelhandling field

 nptl/Makefile                       |   5 +-
 nptl/allocatestack.c                |   5 +-
 nptl/cancellation.c                 |  17 ++-
 nptl/descr.h                        |  44 ++++----
 nptl/nptl-stack.h                   |   2 +-
 nptl/nptl_free_tcb.c                |  22 ++--
 nptl/nptl_setxid.c                  |  49 ++-------
 nptl/pthreadP.h                     |  21 ++--
 nptl/pthread_cancel.c               |  11 +-
 nptl/pthread_clockjoin.c            |   2 +-
 nptl/pthread_create.c               | 111 +++++++++++---------
 nptl/pthread_detach.c               |  36 +++----
 nptl/pthread_exit.c                 |   4 +-
 nptl/pthread_getattr_np.c           |   2 +-
 nptl/pthread_join.c                 |   2 +-
 nptl/pthread_join_common.c          | 127 ++++++++--------------
 nptl/pthread_testcancel.c           |  11 +-
 nptl/pthread_timedjoin.c            |   2 +-
 nptl/pthread_tryjoin.c              |  18 ++--
 nptl/tst-cancel7.c                  |  96 ++++++++---------
 nptl/tst-cleanup5.c                 | 157 ++++++++++++++++++++++++++++
 nptl_db/structs.def                 |   2 +-
 nptl_db/td_thr_get_info.c           |  16 ++-
 nptl_db/td_thr_getfpregs.c          |   9 +-
 nptl_db/td_thr_getgregs.c           |   9 +-
 nptl_db/td_thr_setfpregs.c          |   9 +-
 nptl_db/td_thr_setgregs.c           |   9 +-
 sysdeps/hppa/nptl/tcb-offsets.sym   |   1 -
 sysdeps/i386/nptl/tcb-offsets.sym   |   1 -
 sysdeps/nptl/dl-tls_init_tp.c       |   4 +-
 sysdeps/nptl/libc_start_call_main.h |   7 ++
 sysdeps/pthread/tst-thrd-detach.c   |  16 ++-
 sysdeps/sh/nptl/tcb-offsets.sym     |   1 -
 sysdeps/x86_64/nptl/tcb-offsets.sym |   4 -
 34 files changed, 448 insertions(+), 384 deletions(-)
 create mode 100644 nptl/tst-cleanup5.c