John Baldwin
dc3566067a
Ensure thread library is initialized in pthread_testcancel().
...
Call _thr_check_init() before reading curthread in pthread_testcancel().
If a constructor in a library creates a semaphore via sem_init() and
then waits for it via sem_wait(), the program can core dump in
_pthread_testcancel() called from sem_wait(). This is because the
semaphore implementation lives in libc, so the library's constructors
can be run before libthr's constructors.
Reported by: arichardson
Reviewed by: kib
Obtained from: CheriBSD
MFC after: 1 week
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D14786
2018-03-21 21:13:26 +00:00
..
2016-02-28 17:52:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-18 14:26:50 +00:00
2017-11-18 14:26:50 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-03-21 21:13:26 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2018-01-27 22:27:55 +00:00
2017-11-26 02:00:33 +00:00
2016-03-21 06:52:35 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00
2017-11-18 14:26:50 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-20 19:49:47 +00:00