- Issued:
- 2017-11-30
- Updated:
- 2017-11-30
RHBA-2017:3296 - glibc bug fix update
Synopsis
glibc bug fix update
Type/Severity
Bug Fix Advisory None
Topic
Updated glibc packages that fix several bugs are now available for Red Hat Enterprise Linux 7.
Description
The glibc packages provide the standard C libraries (libc), POSIX thread libraries (libpthread), standard math libraries (libm), and the name service cache daemon (nscd) used by multiple programs on the system. Without these libraries, the Linux system cannot function correctly.
This update fixes the following bugs:
-
Previously, the dynamic loader in the GNU C library (glibc) contained an optimization which avoided saving and restoring vector registers for 64-bit Intel and AMD architectures. Consequently, applications compiled for these architectures and using unsupported vector registers for passing function arguments, not adhering to the published x86-64 psABI specification, could fail and produce unexpected results. This update changes the dynamic loader to use the XSAVE/XSAVEC context switch CPU instructions, preserving more CPU state, including all vector registers. As a result, applications using vector registers for argument passing, in ways which are not supported by the x86-64 psABI specification, work as expected. (BZ#1513070)
-
Previous versions of the GNU C library (glibc) provided a hardware capability check to detect enabled hardware transactional memory (HTM) for 64-bit IBM POWER8 and POWER9 systems. This check did not include the capability to distinguish whether HTM could be suspended or not. This update enhances the hardware capabilities header with PPC_FEATURE2_HTM_NO_SUSPEND to allow applications to test for this bit in AT_HWCAP2 from the getauxval() function and determine if HTM supports suspend or not. (BZ#1515114)
-
Previously, the memcpy() routine from the glibc library used unaligned vector loads and stores on 64-bit IBM POWER9 systems. Consequently, the performance of memcpy() over all types of memory accesses was not optimal. The memcpy() routine has been enhanced to provide better performance for applications regardless of the memory involved in the copy. This performance improvement includes POWER7 processors and later, including POWER9. (BZ#1516402)
Users of glibc are advised to upgrade to these updated packages, which fix these bugs.
Solution
Before applying this update, make sure all previously released errata relevant to your system have been applied.
For details on how to apply this update, refer to:
https://access.redhat.com/articles/11258
Affected Products
| Product | Version | Arch |
|---|---|---|
| Red Hat Virtualization Host | 4 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions | 7.7 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions | 7.6 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions | 7.4 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 7.7 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 7.6 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 7.5 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 7.4 | x86_64 |
| Red Hat Enterprise Linux for Scientific Computing | 7 | x86_64 |
| Red Hat Enterprise Linux for Power, little endian | 7 | ppc64le |
| Red Hat Enterprise Linux for Power, little endian - Extended Update Support | 7.7 | ppc64le |
| Red Hat Enterprise Linux for Power, little endian - Extended Update Support | 7.6 | ppc64le |
| Red Hat Enterprise Linux for Power, little endian - Extended Update Support | 7.5 | ppc64le |
| Red Hat Enterprise Linux for Power, little endian - Extended Update Support | 7.4 | ppc64le |
| Red Hat Enterprise Linux for Power, big endian | 7 | ppc64 |
| Red Hat Enterprise Linux for Power, big endian - Extended Update Support | 7.7 | ppc64 |
| Red Hat Enterprise Linux for Power, big endian - Extended Update Support | 7.6 | ppc64 |
| Red Hat Enterprise Linux for Power, big endian - Extended Update Support | 7.5 | ppc64 |
| Red Hat Enterprise Linux for Power, big endian - Extended Update Support | 7.4 | ppc64 |
| Red Hat Enterprise Linux for Power 9 | 7 | ppc64le |
| Red Hat Enterprise Linux for IBM z Systems | 7 | s390x |
| Red Hat Enterprise Linux for IBM z Systems - Extended Update Support | 7.7 | s390x |
| Red Hat Enterprise Linux for IBM z Systems - Extended Update Support | 7.6 | s390x |
| Red Hat Enterprise Linux for IBM z Systems - Extended Update Support | 7.5 | s390x |
| Red Hat Enterprise Linux for IBM z Systems - Extended Update Support | 7.4 | s390x |
| Red Hat Enterprise Linux for ARM 64 | 7 | aarch64 |
| Red Hat Enterprise Linux Workstation | 7 | x86_64 |
| Red Hat Enterprise Linux Server | 7 | x86_64 |
| Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions | 7.7 | ppc64le |
| Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions | 7.6 | ppc64le |
| Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions | 7.4 | ppc64le |
| Red Hat Enterprise Linux Server - TUS | 7.7 | x86_64 |
| Red Hat Enterprise Linux Server - TUS | 7.6 | x86_64 |
| Red Hat Enterprise Linux Server - TUS | 7.4 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support | 7 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support for IBM Power, little endian | 7 | ppc64le |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support for IBM Power, big endian | 7 | ppc64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) | 7 | s390x |
| Red Hat Enterprise Linux Server - AUS | 7.7 | x86_64 |
| Red Hat Enterprise Linux Server - AUS | 7.6 | x86_64 |
| Red Hat Enterprise Linux Server - AUS | 7.4 | x86_64 |
| Red Hat Enterprise Linux EUS Compute Node | 7.7 | x86_64 |
| Red Hat Enterprise Linux EUS Compute Node | 7.6 | x86_64 |
| Red Hat Enterprise Linux EUS Compute Node | 7.5 | x86_64 |
| Red Hat Enterprise Linux EUS Compute Node | 7.4 | x86_64 |
| Red Hat Enterprise Linux Desktop | 7 | x86_64 |
Updated Packages
- glibc-devel-2.17-196.el7_4.2.ppc64le.rpm
- glibc-devel-2.17-196.el7_4.2.ppc.rpm
- glibc-2.17-196.el7_4.2.src.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.ppc64.rpm
- glibc-2.17-196.el7_4.2.ppc64.rpm
- glibc-utils-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.ppc64le.rpm
- glibc-utils-2.17-196.el7_4.2.x86_64.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.x86_64.rpm
- glibc-utils-2.17-196.el7_4.2.ppc64le.rpm
- glibc-devel-2.17-196.el7_4.2.s390x.rpm
- glibc-common-2.17-196.el7_4.2.ppc64.rpm
- glibc-debuginfo-2.17-196.el7_4.2.x86_64.rpm
- glibc-2.17-196.el7_4.2.s390x.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.s390x.rpm
- glibc-headers-2.17-196.el7_4.2.ppc64le.rpm
- glibc-static-2.17-196.el7_4.2.s390.rpm
- glibc-static-2.17-196.el7_4.2.s390x.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.s390.rpm
- glibc-common-2.17-196.el7_4.2.ppc64le.rpm
- glibc-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-2.17-196.el7_4.2.i686.rpm
- glibc-debuginfo-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-2.17-196.el7_4.2.ppc64.rpm
- glibc-headers-2.17-196.el7_4.2.ppc64.rpm
- glibc-headers-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-2.17-196.el7_4.2.ppc.rpm
- glibc-static-2.17-196.el7_4.2.ppc64.rpm
- glibc-common-2.17-196.el7_4.2.x86_64.rpm
- glibc-static-2.17-196.el7_4.2.i686.rpm
- glibc-debuginfo-2.17-196.el7_4.2.s390.rpm
- nscd-2.17-196.el7_4.2.ppc64.rpm
- glibc-utils-2.17-196.el7_4.2.ppc64.rpm
- nscd-2.17-196.el7_4.2.ppc64le.rpm
- glibc-debuginfo-2.17-196.el7_4.2.ppc64le.rpm
- glibc-utils-2.17-196.el7_4.2.s390x.rpm
- glibc-devel-2.17-196.el7_4.2.s390.rpm
- glibc-static-2.17-196.el7_4.2.x86_64.rpm
- glibc-2.17-196.el7_4.2.s390.rpm
- glibc-devel-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.i686.rpm
- glibc-2.17-196.el7_4.2.i686.rpm
- nscd-2.17-196.el7_4.2.aarch64.rpm
- nscd-2.17-196.el7_4.2.s390x.rpm
- glibc-devel-2.17-196.el7_4.2.i686.rpm
- glibc-headers-2.17-196.el7_4.2.s390x.rpm
- nscd-2.17-196.el7_4.2.x86_64.rpm
- glibc-static-2.17-196.el7_4.2.ppc.rpm
- glibc-2.17-196.el7_4.2.ppc64le.rpm
- glibc-debuginfo-common-2.17-196.el7_4.2.ppc.rpm
- glibc-static-2.17-196.el7_4.2.ppc64le.rpm
- glibc-devel-2.17-196.el7_4.2.x86_64.rpm
- glibc-headers-2.17-196.el7_4.2.x86_64.rpm
- glibc-2.17-196.el7_4.2.ppc.rpm
- glibc-common-2.17-196.el7_4.2.aarch64.rpm
- glibc-debuginfo-2.17-196.el7_4.2.s390x.rpm
- glibc-common-2.17-196.el7_4.2.s390x.rpm
- glibc-2.17-196.el7_4.2.x86_64.rpm
- glibc-devel-2.17-196.el7_4.2.ppc64.rpm
- glibc-static-2.17-196.el7_4.2.aarch64.rpm
Fixes
(none)
CVEs
(none)
References
(none)
Additional information
- The Red Hat security contact is This content is not included.secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.