5.1-RELEASE TODO

Robert Watson rwatson at FreeBSD.org
Mon May 19 11:38:12 PDT 2003


On Mon, 19 May 2003, Terry Lambert wrote:

> Robert Watson wrote:
> >    |-------------------+-------------+---------------+----------------------|
> >    |                   |             |               | Update the run-time  |
> >    | rtld-elf          | --          | Alexander     | link editor (rtld)   |
> >    | thread-safety     |             | Kabaev        | thread-safe with     |
> >    |                   |             |               | libpthread.          |
> >    |-------------------+-------------+---------------+----------------------|
> 
> According to chapter 12 of the "Go Solo 2" book, this is a bogus thing
> to do.  Callers are required to take a critical section over the calls
> to the dl* functions because the dlerror() function uses a static buffer
> that can be overwritten in a multi-threaded environment. 

Sadly, that insight doesn't seem to have influenced the development
practices of a number of major application vendors :-(. 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Network Associates Laboratories




More information about the freebsd-current mailing list