- Issued:
- 2009-09-02
- Updated:
- 2009-09-02
RHBA-2009:1415 - Bug Fix Advisory
Synopsis
glibc bug fix and enhancement update
Type/Severity
Bug Fix Advisory
Red Hat Insights patch analysis
Identify and remediate systems affected by this advisory.
Topic
Updated glibc packages that fix various bugs and implement a technology
preview of per-thread memory pooling are now available.
Description
The glibc packages contain the standard C libraries used by multiple
programs on the system. These packages contains the standard C and the
standard math libraries. Without these two libraries, the Linux system
cannot function properly.
This update applies the following bug fixes:
- A strcmp() call in the setlocale() function could cause a segmentation
fault (SIGSEGV) to occur in multi-threaded applications. This was caused by
an improper free() call, which freed _nl_global_locale.__names[category]
around the same time strcmp() tried to access it. As such, it was possible
for strcmp() to access _nl_global_locale.__names[category] after it was
freed (i.e. no longer available), resulting in a segmentation fault. To fix
this, this update adds a return() call to make
_nl_global_locale.__names[category] available when strcmp() accesses it.
(BZ#455580)
- The getifaddrs() function listed invalid IPv6 interface names for
InfiniBand devices. This was because InfiniBand names are 20 bytes long,
while glibc only prepares an 8-byte string array (i.e. sll_addr) for
interface names. When getifaddrs() copied the 20-byte string into sll_addr,
the result was a corrupted, invalid interface name. To prevent this, this
update expands the field size from 8 bytes to 24 bytes, allowing
getifaddrs() to copy 20-byte InfiniBand names to the sll_addr string array.
(BZ#463252)
- A previous update to glibc resulted in a performance regression with
mutex() calls. This was caused by the addition of mutual exclusion (mutex)
types tested by pthread_mutex_lock() and pthread_mutex_unlock(). To
alleviate the problem, this update optimizes the pthread_mutex_lock() and
pthread_mutex_unlock() for the most common mutex types, which improves the
performance of mutex() calls in most common user scenarios. (BZ#467316)
- _dl_runtime_profile on the IBM System z incorrectly used the instruction
lr to remove stack frames, which could result in corrupted stacks in rare
cases. With this update, _dl_runtime_profile uses the correct instruction
(lgr) to remove stack frames instead. (BZ#470300)
- An improper break statement in the getgrouplist() function caused
searches to abort prematurely. This resulted in a bug that prevented
getgrouplist() from retrieving group definitions from LDAP. As such,
applications that used getgrouplist() to authenticate group details could
not honor supplementary group credentials defined in LDAP. This update
removes the improper break statement in getgrouplist(), enabling
getgrouplist() to retrieve group definitions from LDAP. (BZ#470768)
- This update also includes the ability to enable (and configure)
per-thread memory pools. This capability enables higher scalability across
many sockets and cores, and is included in this release as a technology
preview. The environmental variable MALLOC_PER_THREAD=1 enables per-thread
memory pools, while MALLOC_ARENA_MAX and MALLOC_ARENA_TEST control the
amount of additional memory used for the memory pools (if any).
MALLOC_ARENA_MAX sets a maximum number of memory pools used, regardless of
the number of cores; MALLOC_ARENA_TEST specifies that the number of cores
should be tested once it reaches a set value. Note that once per-thread
memory pooling becomes fully supported, it will also become the default
behavior; this will render the MALLOC_PER_THREAD option obsolete then.
(BZ#494758)
This errata contains several other enhancements and bug fixes. For a
complete list of glibc fixes applied by this errata, please refer to the
glibc errata entry in the Red Hat Enterprise Linux 5.4 Technical Notes
available at
http://redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/ Technical_Notes/glibc.html
Users of glibc are advised to upgrade to this version.
Solution
Before applying this update, make sure that all previously-released
errata relevant to your system have been applied.
This update is available via Red Hat Network. Details on how to use
the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/docs/DOC-11259
Affected Products
- Red Hat Enterprise Linux Server 5 x86_64
- Red Hat Enterprise Linux Server 5 ia64
- Red Hat Enterprise Linux Server 5 i386
- Red Hat Enterprise Linux Workstation 5 x86_64
- Red Hat Enterprise Linux Workstation 5 i386
- Red Hat Enterprise Linux Desktop 5 x86_64
- Red Hat Enterprise Linux Desktop 5 i386
- Red Hat Enterprise Linux for IBM z Systems 5 s390x
- Red Hat Enterprise Linux for Power, big endian 5 ppc
- Red Hat Enterprise Linux Server from RHUI 5 x86_64
- Red Hat Enterprise Linux Server from RHUI 5 i386
Fixes
- BZ - 464918 - [RHEL5] nscd segfaults on mail servers which do lots of host lookups for various DNS-based blacklists
- BZ - 475332 - [RHEL5] setutent_file returns with permission failure
- BZ - 477705 - __reclaim_stacks deadlock with first attempt at fixing O_DIRECT vs fork bug
- BZ - 478499 - [RHEL5] realloc doesn't fully copy the old data
- BZ - 483636 - nscd segfaults under heavy load
- BZ - 484082 - [RHEL5] getent networks splitting 'aliases' with commas and not spaces
- BZ - 490010 - [RHEL5] nscd in paranoia mode restarts with process name 'exe'
- BZ - 490821 - [RHEL5] Optimizing Causes Incorrect "errno"
- BZ - 494849 - [RHEL5] Wrong order of the addresses in the routing header returned by use inet6_rth_reverse()
- BZ - 494850 - [RHEL5] inet6_rth_add() returns 0 even when the routing header does not have enough space to store an address
- BZ - 495955 - [RHEL5] glibc doesn't use private futex system calls for pthread_mutex calls
- BZ - 504704 - dlfcn.h fails pedantic tests
- BZ - 509853 - glibc: fopen mode 'x' ignored in some cases [RHEL-5]
CVEs
(none)
Red Hat Enterprise Linux Server 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
x86_64 | |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-2.5-42.x86_64.rpm | SHA-256: 4b7fef1a7c6511de5be4b1e8ee34236deba113bdc4f219c37be7004e9424d5a5 |
glibc-common-2.5-42.x86_64.rpm | SHA-256: 005236bf703fe03863e4db29f1d0a6c1e129fe6e278bc12e8880d450a8fb33bf |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-devel-2.5-42.x86_64.rpm | SHA-256: 4d507288f7ca83cfb8f6843ba3e8c02e84b093af5780b265397f21d5dcd84626 |
glibc-headers-2.5-42.x86_64.rpm | SHA-256: 81a6581a8999e796016223e90f218da26e4a89aa1da5ee4a6c2944d43a882b34 |
glibc-utils-2.5-42.x86_64.rpm | SHA-256: c51eaedb560fa8a07eb30c3268a137532d94981833cf9ebafccde8bb42722eee |
nscd-2.5-42.x86_64.rpm | SHA-256: d4db4d685b9b7a7f2d4bbcd06b9e8ea26a8cc820883adffc01ab3bf656b1dbee |
ia64 | |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-2.5-42.ia64.rpm | SHA-256: 8e6e218d33a8ff971980cd219a60e5e3975e413ae02d21e1af6ac184076ad5c7 |
glibc-common-2.5-42.ia64.rpm | SHA-256: b42308e5b0cd439a471e4297ca8461c11e802ffb582d40519775299c1bd74f65 |
glibc-devel-2.5-42.ia64.rpm | SHA-256: 886457cb3043c021d31994d2955a4d61773deab9067fd09d98b8369208522645 |
glibc-headers-2.5-42.ia64.rpm | SHA-256: 03699abbff159bf0d8396d03118a9801167ff6b3e439fa5bf19a283158bc4f92 |
glibc-utils-2.5-42.ia64.rpm | SHA-256: de2a27295fd07f4d47e649718e6b75685a7aca105c97d28f92795aa1c7994f3a |
nscd-2.5-42.ia64.rpm | SHA-256: e9aa2f95dc6a8b0e8e1c6fdd30219032c5678c44d27236a626ac9ae9d2661901 |
i386 | |
glibc-2.5-42.i386.rpm | SHA-256: 96680b1e25a49612137898ed0228bfbcb8faa3e2126480abdd23ee35c7991df1 |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-common-2.5-42.i386.rpm | SHA-256: 1c75bbf617c3d8e097a04a0da40b66eb0ab1b256160c8a8aab6a2773b317b7f4 |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-headers-2.5-42.i386.rpm | SHA-256: 731010c1fb05bff200e8e06630a7a32c1e96d26241f566670cd7f513bf56884e |
glibc-utils-2.5-42.i386.rpm | SHA-256: ede16d819cbd0970b858180fbfd0c9e13637839853caaee59eb8a0310fa80e43 |
nscd-2.5-42.i386.rpm | SHA-256: fb4fc8d7bf5d36572bf6e9fb1989a6075c0ca64d6304de2c910c6df498888d2a |
Red Hat Enterprise Linux Workstation 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
x86_64 | |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-2.5-42.x86_64.rpm | SHA-256: 4b7fef1a7c6511de5be4b1e8ee34236deba113bdc4f219c37be7004e9424d5a5 |
glibc-common-2.5-42.x86_64.rpm | SHA-256: 005236bf703fe03863e4db29f1d0a6c1e129fe6e278bc12e8880d450a8fb33bf |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-devel-2.5-42.x86_64.rpm | SHA-256: 4d507288f7ca83cfb8f6843ba3e8c02e84b093af5780b265397f21d5dcd84626 |
glibc-headers-2.5-42.x86_64.rpm | SHA-256: 81a6581a8999e796016223e90f218da26e4a89aa1da5ee4a6c2944d43a882b34 |
glibc-utils-2.5-42.x86_64.rpm | SHA-256: c51eaedb560fa8a07eb30c3268a137532d94981833cf9ebafccde8bb42722eee |
nscd-2.5-42.x86_64.rpm | SHA-256: d4db4d685b9b7a7f2d4bbcd06b9e8ea26a8cc820883adffc01ab3bf656b1dbee |
i386 | |
glibc-2.5-42.i386.rpm | SHA-256: 96680b1e25a49612137898ed0228bfbcb8faa3e2126480abdd23ee35c7991df1 |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-common-2.5-42.i386.rpm | SHA-256: 1c75bbf617c3d8e097a04a0da40b66eb0ab1b256160c8a8aab6a2773b317b7f4 |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-headers-2.5-42.i386.rpm | SHA-256: 731010c1fb05bff200e8e06630a7a32c1e96d26241f566670cd7f513bf56884e |
glibc-utils-2.5-42.i386.rpm | SHA-256: ede16d819cbd0970b858180fbfd0c9e13637839853caaee59eb8a0310fa80e43 |
nscd-2.5-42.i386.rpm | SHA-256: fb4fc8d7bf5d36572bf6e9fb1989a6075c0ca64d6304de2c910c6df498888d2a |
Red Hat Enterprise Linux Desktop 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
x86_64 | |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-2.5-42.x86_64.rpm | SHA-256: 4b7fef1a7c6511de5be4b1e8ee34236deba113bdc4f219c37be7004e9424d5a5 |
glibc-common-2.5-42.x86_64.rpm | SHA-256: 005236bf703fe03863e4db29f1d0a6c1e129fe6e278bc12e8880d450a8fb33bf |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-devel-2.5-42.x86_64.rpm | SHA-256: 4d507288f7ca83cfb8f6843ba3e8c02e84b093af5780b265397f21d5dcd84626 |
glibc-headers-2.5-42.x86_64.rpm | SHA-256: 81a6581a8999e796016223e90f218da26e4a89aa1da5ee4a6c2944d43a882b34 |
glibc-utils-2.5-42.x86_64.rpm | SHA-256: c51eaedb560fa8a07eb30c3268a137532d94981833cf9ebafccde8bb42722eee |
nscd-2.5-42.x86_64.rpm | SHA-256: d4db4d685b9b7a7f2d4bbcd06b9e8ea26a8cc820883adffc01ab3bf656b1dbee |
i386 | |
glibc-2.5-42.i386.rpm | SHA-256: 96680b1e25a49612137898ed0228bfbcb8faa3e2126480abdd23ee35c7991df1 |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-common-2.5-42.i386.rpm | SHA-256: 1c75bbf617c3d8e097a04a0da40b66eb0ab1b256160c8a8aab6a2773b317b7f4 |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-headers-2.5-42.i386.rpm | SHA-256: 731010c1fb05bff200e8e06630a7a32c1e96d26241f566670cd7f513bf56884e |
glibc-utils-2.5-42.i386.rpm | SHA-256: ede16d819cbd0970b858180fbfd0c9e13637839853caaee59eb8a0310fa80e43 |
nscd-2.5-42.i386.rpm | SHA-256: fb4fc8d7bf5d36572bf6e9fb1989a6075c0ca64d6304de2c910c6df498888d2a |
Red Hat Enterprise Linux for IBM z Systems 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
s390x | |
glibc-2.5-42.s390.rpm | SHA-256: 172e9831aa4e61a2ec5a0bf81cfe23002d6a0495b4a45e068c01222957b75586 |
glibc-2.5-42.s390x.rpm | SHA-256: 0d84ee218a738973c2810e01102647cf31da9b7c477afab7dcfa94b70116cab8 |
glibc-common-2.5-42.s390x.rpm | SHA-256: b3b10ced4a85cdcfdd8f34dc8f67090953122ba08005833d1114fe4ab468eaba |
glibc-devel-2.5-42.s390.rpm | SHA-256: 45edf2cd645d2b149ff133622ed63ea973a849d6ed5b95d5742a03dbacbae473 |
glibc-devel-2.5-42.s390x.rpm | SHA-256: 80dd7db570102ce9c96bee2e4ada97c3b3e24610f95be93d8a78de595a2a6667 |
glibc-headers-2.5-42.s390x.rpm | SHA-256: 75d75180679e63743ca1a3e7a495b7d1084fdfc6525147fe2e254b21278a5e91 |
glibc-utils-2.5-42.s390x.rpm | SHA-256: e92160d9c504dc970e77e1fec03c705acd641113be112f136a55f07cccb54f8a |
nscd-2.5-42.s390x.rpm | SHA-256: 8a3228fea12a847facda3a4bc12a385a401b32da5e8ae6774aac61be9f79e278 |
Red Hat Enterprise Linux for Power, big endian 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
ppc | |
glibc-2.5-42.ppc.rpm | SHA-256: d486735107e6221896153da7393082256a0942e7e6870267d3f6bb384c557876 |
glibc-2.5-42.ppc64.rpm | SHA-256: 041f056a33723739268828daab8d58dde7dd642d3a535679aa0caac8781b4ef7 |
glibc-common-2.5-42.ppc.rpm | SHA-256: 2ebe88bc18b1a3223aa521e9e9f0ff84cd6135ec6efa8030b495f020d665a0c7 |
glibc-devel-2.5-42.ppc.rpm | SHA-256: 759037090a3001236877e41a6a3252a09064509830577b4f3aeb8d9f1301b12b |
glibc-devel-2.5-42.ppc64.rpm | SHA-256: 908ef8779819a60fff36a9d44ce5eefed29df6b64128f1f7023e5e3b94e3b1a9 |
glibc-headers-2.5-42.ppc.rpm | SHA-256: b53fabad41eaa877377fa1e943c71d4d8e169469763b3e4160005bab7a42ffe6 |
glibc-utils-2.5-42.ppc.rpm | SHA-256: 943b31491bd7941c4b9208a6809e1a691d9b129c40b29adb7e0e6e9dc313be7a |
nscd-2.5-42.ppc.rpm | SHA-256: beb33ddc01f8bc6b35be4472a5d00cebcdef313aef1175301fee4b5829b11401 |
Red Hat Enterprise Linux Server from RHUI 5
SRPM | |
---|---|
glibc-2.5-42.src.rpm | SHA-256: a746a87f81711230b07a515e0a7a2e0ecfb585a6f529e8722cd1d2531b1b688b |
x86_64 | |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-2.5-42.x86_64.rpm | SHA-256: 4b7fef1a7c6511de5be4b1e8ee34236deba113bdc4f219c37be7004e9424d5a5 |
glibc-common-2.5-42.x86_64.rpm | SHA-256: 005236bf703fe03863e4db29f1d0a6c1e129fe6e278bc12e8880d450a8fb33bf |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-devel-2.5-42.x86_64.rpm | SHA-256: 4d507288f7ca83cfb8f6843ba3e8c02e84b093af5780b265397f21d5dcd84626 |
glibc-headers-2.5-42.x86_64.rpm | SHA-256: 81a6581a8999e796016223e90f218da26e4a89aa1da5ee4a6c2944d43a882b34 |
glibc-utils-2.5-42.x86_64.rpm | SHA-256: c51eaedb560fa8a07eb30c3268a137532d94981833cf9ebafccde8bb42722eee |
nscd-2.5-42.x86_64.rpm | SHA-256: d4db4d685b9b7a7f2d4bbcd06b9e8ea26a8cc820883adffc01ab3bf656b1dbee |
i386 | |
glibc-2.5-42.i386.rpm | SHA-256: 96680b1e25a49612137898ed0228bfbcb8faa3e2126480abdd23ee35c7991df1 |
glibc-2.5-42.i686.rpm | SHA-256: 5b5e0f8bea31756dde7bf0e8c1cda933082e23128c65cb7b75c18108ae57b20e |
glibc-common-2.5-42.i386.rpm | SHA-256: 1c75bbf617c3d8e097a04a0da40b66eb0ab1b256160c8a8aab6a2773b317b7f4 |
glibc-devel-2.5-42.i386.rpm | SHA-256: a1309a53ae13a08ec80f113c14d5f03274d55bc1e39f55d755ee3030218373cf |
glibc-headers-2.5-42.i386.rpm | SHA-256: 731010c1fb05bff200e8e06630a7a32c1e96d26241f566670cd7f513bf56884e |
glibc-utils-2.5-42.i386.rpm | SHA-256: ede16d819cbd0970b858180fbfd0c9e13637839853caaee59eb8a0310fa80e43 |
nscd-2.5-42.i386.rpm | SHA-256: fb4fc8d7bf5d36572bf6e9fb1989a6075c0ca64d6304de2c910c6df498888d2a |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.