[SRU][F][H][PATCH 0/1] zcrypt DD: Toleration for new IBM Z Crypto Hardware (LP: 1954680)
Kleber Souza
kleber.souza at canonical.com
Wed Dec 15 13:52:25 UTC 2021
On 15.12.21 14:50, Kleber Souza wrote:
> Hi Frank,
>
> On 14.12.21 12:34, frank.heimes at canonical.com wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1954680
> The above BugLink is invalid? Could you please point us to the
^ this should have been an affirmation and not a question :)
> correct LP bug report?
>
>
> Thanks,
>
> Kleber
>
>
>> SRU Justification:
>>
>> [Impact]
>>
>> * CEX8 hardware CryptoExpress adapter shall support quantum-safe crypto
>> and therefore require nowadays message sizes > 12kB.
>>
>> * This change here is mainly required to support EP11 responses to admin requests at zNext
>> which due to QS certificates can grow larger than 12kB.
>>
>> * It's to cover a minimal patch to provide toleration support for this feature
>> which shall be back-ported to all distribution releases in service at zNext
>>
>> * This SRU requests belongs to the hardware enablement case.
>>
>> [Fix]
>>
>> * bd39654a2282 bd39654a2282c1a51c044575a6bc00d641d5dfd1 "s390/AP: support new dynamic AP bus size limit"
>>
>> [Test Plan]
>>
>> * An Ubuntu 20.04 (respectively 21.04) LPAR or z/VM guest is needed
>> that has access to at least one online crypto domain.
>>
>> * Ideally using a CEX8 adapter (but can be too early to get one).
>>
>> * Then get the patched kernel installed (see PPA below).
>>
>> * And look for the /sys/devices/ap/cardxx/max_msg_size sysfs attributes.
>>
>> * On top IBM has some more in-depth zcrypt tests (see also LP#1933805).
>>
>> [Where problems could occur]
>>
>> * First of all the modification are limited to:
>> the zcrypt driver ("/drivers/s390/crypto/ap_*.*" and
>> "/drivers/s390/crypto/zcrypt_*.*")
>> hence are s390x platform specific and crypto specific and
>> should even affect CEX8 cards only.
>> So in case anything fails, it's limited to s390x cryptography,
>> which usually allows sw fall-backs.
>>
>> * The function signature of ap_queue_info and ap_test_queue got modified,
>> which may lead to issues if called with the old signatures,
>> but that would be identified by the test compile already.
>>
>> * Some minor new structures like 'info', 'ml' got introduced,
>> but are properly declared and initialized.
>>
>> * The way ap_queue_info and ap_card_create get filled and used was changed,
>> therefore in some code areas slightly different data might be expected,
>> if not properly adapted to the new way.
>> But a verification test will prove this.
>>
>> * The actual msg length is now handled based on bufsize rather than len
>> and with that zq is calculated in a different way (using zcrypt_queue_alloc)
>> which may cause some side effects if not properly (alloc)
>> or not thoroughly done.
>>
>> * in _zcrypt_send_cprb and _zcrypt_send_ep11_cprb some additional calculations
>> and checks (if-stmts) were introduced, but they look sane.
>>
>> * New code to identify older cards got added, since message sizes > 12kB
>> are supported by CEX8 and higher only.
>> The dispatcher responsible for choosing the right card and queue is aware
>> of the individual card AP bus message limit.
>> But already at the user space tools it should be ensured that the right
>> card is used.
>>
>> * Nevertheless, the patch is not small, hence s390x hardware crypto
>> zcrypt driver needs to be properly re-tested.
>>
>> [Other Info]
>>
>> * The above commit/patch is upstream accepted with 5.14.
>>
>> * Impish's Kernel 5.13 was already patched, based on LP#1933805.
>>
>> * With that the patched zcrypt driver is already tested to some extend
>> based on Impish (since with these cherry-picks the zcrypt driver is largely
>> the same now).
>>
>> * Hence the SRU is only needed for Focal
>> and Hirsute (just to avoid regressions on upgrades).
>>
>> Harald Freudenberger (1):
>> s390/AP: support new dynamic AP bus size limit
>>
>> drivers/s390/crypto/ap_bus.c | 50 +++++++++++++++++-------
>> drivers/s390/crypto/ap_bus.h | 11 ++++--
>> drivers/s390/crypto/ap_card.c | 16 +++++++-
>> drivers/s390/crypto/ap_queue.c | 2 +-
>> drivers/s390/crypto/zcrypt_api.c | 6 +++
>> drivers/s390/crypto/zcrypt_cex4.c | 9 ++---
>> drivers/s390/crypto/zcrypt_msgtype50.c | 26 ++++++-------
>> drivers/s390/crypto/zcrypt_msgtype6.c | 54 ++++++++++++++------------
>> drivers/s390/crypto/zcrypt_msgtype6.h | 2 -
>> drivers/s390/crypto/zcrypt_queue.c | 6 +--
>> 10 files changed, 116 insertions(+), 66 deletions(-)
>>
More information about the kernel-team
mailing list