[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