Copyright 2022 - CSIM - Asian Institute of Technology

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Subject: [FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-08:01.libpthread
From: FreeBSD Errata Notices <This email address is being protected from spambots. You need JavaScript enabled to view it.>
Date: Thu, 17 Apr 2008 00:15:16 GMT

Hash: SHA1

FreeBSD-EN-08:01.libpthread                                     Errata Notice
                                                          The FreeBSD Project

Topic:          Problems with fork(2) within threaded programs

Category:       core
Module:         libpthread
Announced:      2008-04-17
Credits:	Julian Elischer, Dan Eischen
Affects:        FreeBSD 6.3
Corrected:      2008-02-04 20:05:20 UTC (RELENG_6, 6.3-STABLE)
                2008-04-16 23:59:48 UTC (RELENG_6_3, 6.3-RELEASE-p2)

For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit

I.   Background

POSIX threads are a set of functions that support applications with
requirements for multiple flows of control, called threads, within a
process.  The fork(2) system call is used to create a new process.

II.  Problem Description

The libpthread threading library on FreeBSD 6.3 fails to properly
reinitialize mutexes when a threaded process invokes fork(2).

III. Impact

After the fork(2) system returns, the newly created child process may
freeze in user space for no apparent reason.  This affects any threaded
application that invokes fork(2), most frequently those that call
fork(2) before execve(2) or system(3) to run external programs.

IV.  Workaround

On some systems, using libthr instead of libpthread, via the libmap
configuration file libmap.conf(5), may be an acceptable workaround.

V.   Solution

Perform one of the following:

1) Upgrade your vulnerable system to 6-STABLE or the RELENG_6_3
security branch dated after the correction date.

2) To patch your present system:

The following patch has been verified to apply to FreeBSD 6.3 systems:

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch
# fetch

b) Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libpthread
# make obj && make depend && make && make install

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
- -------------------------------------------------------------------------
  src/UPDATING                                             1.416.
- -------------------------------------------------------------------------

VII. References

The latest revision of this advisory is available at

Version: GnuPG v1.4.7 (FreeBSD)

This email address is being protected from spambots. You need JavaScript enabled to view it. mailing list
To unsubscribe, send any mail to "This email address is being protected from spambots. You need JavaScript enabled to view it."
Powered by: MHonArc

Login Form


School of Engineering and technologies     Asian Institute of Technology