RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1793984 - [RHEL 8][s390x] Restore modified SIGILL signal handler during libcrypto library initialisation
Summary: [RHEL 8][s390x] Restore modified SIGILL signal handler during libcrypto libra...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: openssl
Version: 8.2
Hardware: s390x
OS: Linux
medium
medium
Target Milestone: rc
: 8.3
Assignee: Tomas Mraz
QA Contact: Ondrej Moriš
URL:
Whiteboard:
Depends On:
Blocks: 1780068 1873552 1874594
TreeView+ depends on / blocked
 
Reported: 2020-01-22 12:40 UTC by Eugene Syromiatnikov
Modified: 2020-09-01 17:34 UTC (History)
6 users (show)

Fixed In Version: openssl-1.1.1c-13.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1874594 (view as bug list)
Environment:
Last Closed: 2020-04-28 16:52:04 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:1840 0 None None None 2020-04-28 16:52:50 UTC

Description Eugene Syromiatnikov 2020-01-22 12:40:31 UTC
Description of problem:
libcrypto on s390x changes SIGILL handler during library initialisation (specifically, in the crypto/s390xcap.c:OPENSSL_cpuid_setup() function) and doesn't restore it back.

Version-Release number of selected component (if applicable):
openssl-libs-1.1.1c-10.el8.s390x

How reproducible:
Always

Steps to Reproduce:
See the reproducer in bug 1780068.

Actual results:
sigign.test from strace's test suite fails.

Expected results:
sigign.test from strace's test suite passes.

Additional info:
sigign.test runs (among other things) the command "../set_sigign 1 $SIGNO ../../strace -e none ../check_sigign 1 $SIGNO" for the appropriate values of $SIGNO; check_sigign checks that it has the signal handler the set_sigign has set; it is failing on RHEL 8.2.0 (and not on RHEL 8.1.1) for SIGNO=4 (SIGILL), as outlined by bug 1780068.

The change between RHEL 8.1.1 and RHEL 8.2.0 is that the latter now has debuginfod package, the libdebuginfod library of which is pulled by libdw during the library load (libdw is used in strace for stack unwinding purposes). The libdebuginfod, in turn, has to initialise libcurl early (during library load), and that, in turn, pulls in libcrypto.

The issue seems to be fixed upstream in commit c17d60ea293746d7cd06a910ced446edbb6c1eba ("s390x assembly pack: fix restoring of SIGILL action").

Kudos to Frank Ch. Eigler and Mark Wielaard for helping triaging the issue.

Comment 1 Tomas Mraz 2020-01-22 13:00:06 UTC
This is not a regression in RHEL-8.2 package, the bug was there from start.

Comment 2 Eugene Syromiatnikov 2020-01-22 13:15:17 UTC
Well, this bug has caused a regression in strace between 8.1.1 and 8.2.0 environments.

Comment 3 Tomas Mraz 2020-01-22 13:47:58 UTC
Yes, but not by a change in OpenSSL.

Comment 9 Simo Sorce 2020-01-27 08:10:28 UTC
What is the impact of this bug?
Are there workarounds?

Comment 10 Frank Ch. Eigler 2020-01-27 12:24:24 UTC
(In reply to Simo Sorce from comment #9)
> What is the impact of this bug?

Applications that are very sensitive to signal handler configuration may fail.  It is unknown how many of these exist, outside the testsuite item that led us to discover it in RHEL.

> Are there workarounds?

None that I know of.

Comment 11 Tomas Mraz 2020-01-27 12:47:27 UTC
Yes, but in general it is not a regression within RHEL-8 updates. It is a regression compared to RHEL-7 only. Within RHEL-8 updates it is a regression of this particular strace use-case only.

Comment 12 Eugene Syromiatnikov 2020-01-27 13:51:44 UTC
(In reply to Tomas Mraz from comment #11)
> Yes, but in general it is not a regression within RHEL-8 updates. It is a
> regression compared to RHEL-7 only.

I don't see how it's not a regression between RHEL 8.1 and RHEL 8.2, as debuginfod is in RHEL 8.2 and not in RHEL 8.1; as a result, strace's signal setting transparency for SIGILL was preserved in 8.1 and is not preserver in 8.2.

The same is probably the case for other clients of libdw/debuginfod.

Comment 13 Tomas Mraz 2020-01-27 16:36:49 UTC
I was unclear a little - it is not regression for usages that do not use libdw/debuginfod.

Comment 14 Eugene Syromiatnikov 2020-02-10 12:23:37 UTC
Clearing needinfo, as the information requested in comment 9 has been provided in comment 10.

Comment 21 errata-xmlrpc 2020-04-28 16:52:04 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-2020:1840

Comment 22 Fedora Update System 2020-05-29 00:57:12 UTC
FEDORA-EPEL-2020-ff94ccbdec has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.


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