Bug 1528418

Summary: glibc: Merge error in XSAVE dynamic linker trampoline patch
Product: Red Hat Enterprise Linux 7 Reporter: Florian Weimer <fweimer>
Component: glibcAssignee: Carlos O'Donell <codonell>
Status: CLOSED ERRATA QA Contact: Sergey Kolosov <skolosov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.5CC: ashankar, bgollahe, codonell, fweimer, lmiksik, mnewsome, pfrankli, skolosov
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 14:04:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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