Bug 1528418 - glibc: Merge error in XSAVE dynamic linker trampoline patch
Summary: glibc: Merge error in XSAVE dynamic linker trampoline patch
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: glibc
Version: 7.5
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Carlos O'Donell
QA Contact: Sergey Kolosov
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-12-21 19:44 UTC by Florian Weimer
Modified: 2018-04-10 14:04 UTC (History)
8 users (show)

Fixed In Version: glibc-2.17-221.el7
Doc Type: Bug Fix
Doc Text:
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 again.
Clone Of:
Environment:
Last Closed: 2018-04-10 14:04:32 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1499012 unspecified CLOSED glibc: Restore compatibility with compilers which use vector registers for argument passing against x86-64 ABI 2020-10-14 00:28:05 UTC
Red Hat Bugzilla 1504969 high CLOSED glibc: Use XSAVE/XSAVEC in dynamic loader lazy resolution to support more calling conventions. 2020-10-14 00:28:05 UTC
Red Hat Bugzilla 1513070 high CLOSED glibc: Use XSAVE/XSAVEC in dynamic loader lazy resolution to support more calling conventions. [rhel-7.4.z] 2020-10-14 00:28:05 UTC
Red Hat Bugzilla 1527587 high CLOSED On Dell Optiplex 960, Dell Precision T5600 Systems Applying RHBA-2017:3296 Prevents Smart Card Logins 2020-10-14 00:28:05 UTC
Red Hat Product Errata RHSA-2018:0805 None None None 2018-04-10 14:04:52 UTC
Sourceware 22641 None None None 2019-05-15 10:43:15 UTC

Internal Links: 1499012 1504969 1513070 1527587

Description Florian Weimer 2017-12-21 19:44:31 UTC
As explained in bug 1527587 comment 8, the code which selects the XSAVE trampoline is nested incorrectly and is only active the CPU supports AVX.

We are investigating if the use of FXSAVE instead of XSAVE causes any issues on CPUs supported by Red Hat Enterprise Linux.  But we should fix the oversight independently of that.

Comment 7 errata-xmlrpc 2018-04-10 14:04:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:0805


Note You need to log in before you can comment on or make changes to this bug.