[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:50:49 UTC 2021
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
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