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
..
2018-03-04 17:06:37 +00:00
2017-11-26 02:00:33 +00:00
2018-01-24 14:24:17 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-03-21 01:15:45 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-12-27 21:36:37 +00:00
2018-03-18 19:50:32 +00:00
2017-12-25 13:17:29 +00:00
2018-02-10 14:45:29 +00:00
2018-02-02 05:04:43 +00:00
2017-11-26 02:00:33 +00:00
2018-01-23 22:41:13 +00:00
2018-02-14 23:52:39 +00:00
2017-12-21 04:21:59 +00:00
2017-11-26 02:00:33 +00:00
2018-03-14 20:55:28 +00:00
2018-01-29 22:38:23 +00:00
2018-03-02 15:12:18 +00:00
2017-11-30 20:33:45 +00:00
2018-03-14 20:55:28 +00:00
2018-01-31 21:41:42 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-01-21 21:09:08 +00:00
2018-02-23 03:11:43 +00:00
2018-03-11 19:26:34 +00:00
2018-03-21 14:37:04 +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
2018-03-09 18:51:24 +00:00
2018-03-17 11:41:06 +00:00
2018-01-12 23:25:05 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-01-16 21:43:21 +00:00
2017-11-26 02:00:33 +00:00
2017-12-28 01:31:28 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-01-17 16:41:22 +00:00
2018-01-16 09:31:01 +00:00
2017-12-06 17:52:01 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-01-29 14:00:33 +00:00
2017-11-26 02:00:33 +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-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2018-03-16 15:15:25 +00:00
2017-11-26 02:00:33 +00:00
2018-03-21 21:13:26 +00:00
2017-11-26 02:00:33 +00:00
2018-03-17 12:59:55 +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-26 02:00:33 +00:00
2018-03-04 18:00:32 +00:00
2017-11-26 02:00:33 +00:00
2018-02-26 19:19:05 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2018-03-18 03:42:57 +00:00
2018-02-14 07:59:30 +00:00
2017-11-20 19:49:47 +00:00
2018-03-21 14:37:04 +00:00