[Bug 1903984] Re: [UBUNTU 20.04] Cannot run zcryptstats in the Hosting Appliance
Frank Heimes
1903984 at bugs.launchpad.net
Fri Jan 22 09:12:29 UTC 2021
** Merge proposal linked:
https://code.launchpad.net/~fheimes/ubuntu/+source/s390-tools/+git/s390-tools/+merge/396729
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1903984
Title:
[UBUNTU 20.04] Cannot run zcryptstats in the Hosting Appliance
Status in Ubuntu on IBM z Systems:
Triaged
Status in s390-tools package in Ubuntu:
Fix Committed
Status in s390-tools source package in Focal:
Triaged
Status in s390-tools source package in Groovy:
Triaged
Status in s390-tools source package in Hirsute:
Fix Committed
Bug description:
SRU Justification:
==================
[Impact]
* If multiple s390x crypto domains are available,
the output of all domains does no longer fit into the output buffer of one CHSC call.
* Thus, the response contains a partial-response-snippet that
indicates that there is more data to be retrieved.
* The remaining data is then retrieved in a subsequent CHSC call,
but there is an error in zcryptstats in populating the request with the next domain number to obtain data for.
* This results in the fact that it retrieves the data for domains 1 to n over and over again,
and always gets the partial-response snippet, hence this loops indefinitely.
[Test Case]
* An Ubuntu Server 20.04 system (or newer) is needed on z/VM or LPAR
with two or more crypto domains accessible.
* Now call 'zcryptstats --all -V' and verify if the command completes
successfully (within seconds) or hangs (loops).
[Where problems could occur]
* The patch fixes the code that passes the correct next-domain to the
subsequent CHSC call of a partial response.
* In case done wrong even no data at all from any of the domains is
retrieved,
* or the tool may even try to retrieve data from a domain that has an
invalid index, which will lead to an error (the rc is captured).
* But the code changes are marginal and pretty straight forward, and
the cases where scdmd_area.request.first_drid is handled are now
enclosed by proper 'if/else' statement.
* This patch was already upstream accepted and a patched s390-tools package was build and shared in a PPA for further testing.
__________
---Problem Description---
I have had trouble collecting data via the zcryptstats (https://github.com/ibm-s390-tools/s390-tools/blob/master/zconf/zcrypt/zcryptstats.c) tool for our Hosting Appliance - VPC environment. Basically, the tool reports data for only the last two domain IDs. Further, it hangs if I collect data for a complete crypto card, and then I have to kill the ssh session to get back.
strace attached, ltrace not available and can't be installed due to no
Internet access.
===================
Addl. Information:
This seems to be a problem with the handling of partial responses of
the SCDMD CHSC command.
When many domains are available, then the output of all domains does
not fit into the output buffer of one CHSC call. Thus, the response
contains a partial-response-bit that indicates that there is more data
to be retrieved. This is done in a subsequent CHSC call, but there is
an error in zcryptstats with populating the request with the next
domain number to obtain data for. This results in the fact that it
retrieves the data for domains 1 to n over and over again, and always
gets the partial-response bit set. So this loops forever.
===================
The fix for this in now upstream:
https://github.com/ibm-s390-tools/s390-tools/commit/cf2311f1f1de17435b49ba8c8697be91705ba031
This need to be integrated in all Ubuntu distros, from 20.04 on. F/G/H
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1903984/+subscriptions
More information about the Ubuntu-sponsors
mailing list