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

ProductVersionArch
Red Hat Virtualization Host4x86_64
Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions7.7x86_64
Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions7.6x86_64
Red Hat Enterprise Linux for x86_64 - Update Services for SAP Solutions7.4x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support7.7x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support7.6x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support7.5x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support7.4x86_64
Red Hat Enterprise Linux for Scientific Computing7x86_64
Red Hat Enterprise Linux for Power, little endian7ppc64le
Red Hat Enterprise Linux for Power, little endian - Extended Update Support7.7ppc64le
Red Hat Enterprise Linux for Power, little endian - Extended Update Support7.6ppc64le
Red Hat Enterprise Linux for Power, little endian - Extended Update Support7.5ppc64le
Red Hat Enterprise Linux for Power, little endian - Extended Update Support7.4ppc64le
Red Hat Enterprise Linux for Power, big endian7ppc64
Red Hat Enterprise Linux for Power, big endian - Extended Update Support7.7ppc64
Red Hat Enterprise Linux for Power, big endian - Extended Update Support7.6ppc64
Red Hat Enterprise Linux for Power, big endian - Extended Update Support7.5ppc64
Red Hat Enterprise Linux for Power, big endian - Extended Update Support7.4ppc64
Red Hat Enterprise Linux for Power 97ppc64le
Red Hat Enterprise Linux for IBM z Systems7s390x
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support7.7s390x
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support7.6s390x
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support7.5s390x
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support7.4s390x
Red Hat Enterprise Linux for ARM 647aarch64
Red Hat Enterprise Linux Workstation7x86_64
Red Hat Enterprise Linux Server7x86_64
Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions7.7ppc64le
Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions7.6ppc64le
Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions7.4ppc64le
Red Hat Enterprise Linux Server - TUS7.7x86_64
Red Hat Enterprise Linux Server - TUS7.6x86_64
Red Hat Enterprise Linux Server - TUS7.4x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support7x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support for IBM Power, little endian7ppc64le
Red Hat Enterprise Linux Server - Extended Life Cycle Support for IBM Power, big endian7ppc64
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)7s390x
Red Hat Enterprise Linux Server - AUS7.7x86_64
Red Hat Enterprise Linux Server - AUS7.6x86_64
Red Hat Enterprise Linux Server - AUS7.4x86_64
Red Hat Enterprise Linux EUS Compute Node7.7x86_64
Red Hat Enterprise Linux EUS Compute Node7.6x86_64
Red Hat Enterprise Linux EUS Compute Node7.5x86_64
Red Hat Enterprise Linux EUS Compute Node7.4x86_64
Red Hat Enterprise Linux Desktop7x86_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