From: Harald Freudenberger Date: Thu, 24 Apr 2025 13:36:10 +0000 (+0200) Subject: s390/zcrypt: Propagate xflags argument with cca_get_info() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9eb61e71d7a1241325ef4291147453fd815519ab;p=linux.git s390/zcrypt: Propagate xflags argument with cca_get_info() Propagate the xflags argument from the cca_get_info() caller down to the lower level functions for proper memory allocation hints. Signed-off-by: Harald Freudenberger Reviewed-by: Holger Dengler Link: https://lore.kernel.org/r/20250424133619.16495-17-freude@linux.ibm.com Signed-off-by: Heiko Carstens --- diff --git a/drivers/s390/crypto/zcrypt_ccamisc.c b/drivers/s390/crypto/zcrypt_ccamisc.c index e44e115ca77b..c61d7cbc31e8 100644 --- a/drivers/s390/crypto/zcrypt_ccamisc.c +++ b/drivers/s390/crypto/zcrypt_ccamisc.c @@ -1635,14 +1635,13 @@ EXPORT_SYMBOL(cca_query_crypto_facility); * Fetch cca_info values about a CCA queue via * query_crypto_facility from adapter. */ -int cca_get_info(u16 cardnr, u16 domain, struct cca_info *ci) +int cca_get_info(u16 cardnr, u16 domain, struct cca_info *ci, u32 xflags) { void *mem; int rc, found = 0; size_t rlen, vlen; u8 *rarray, *varray; struct zcrypt_device_status_ext devstat; - u32 xflags = 0; memset(ci, 0, sizeof(*ci)); @@ -1721,6 +1720,7 @@ int cca_findcard2(u32 *apqns, u32 *nr_apqns, u16 cardnr, u16 domain, int i, card, dom, curmatch, oldmatch; struct cca_info ci; u32 _nr_apqns = 0; + u32 xflags = 0; /* occupy the device status memory */ mutex_lock(&dev_status_mem_mutex); @@ -1749,7 +1749,7 @@ int cca_findcard2(u32 *apqns, u32 *nr_apqns, u16 cardnr, u16 domain, if (domain != 0xFFFF && dom != domain) continue; /* get cca info on this apqn */ - if (cca_get_info(card, dom, &ci)) + if (cca_get_info(card, dom, &ci, xflags)) continue; /* current master key needs to be valid */ if (mktype == AES_MK_SET && ci.cur_aes_mk_state != '2') diff --git a/drivers/s390/crypto/zcrypt_ccamisc.h b/drivers/s390/crypto/zcrypt_ccamisc.h index ca41a675dd3b..38d69aceefe6 100644 --- a/drivers/s390/crypto/zcrypt_ccamisc.h +++ b/drivers/s390/crypto/zcrypt_ccamisc.h @@ -255,7 +255,7 @@ struct cca_info { /* * Fetch cca information about an CCA queue. */ -int cca_get_info(u16 card, u16 dom, struct cca_info *ci); +int cca_get_info(u16 card, u16 dom, struct cca_info *ci, u32 xflags); int zcrypt_ccamisc_init(void); void zcrypt_ccamisc_exit(void); diff --git a/drivers/s390/crypto/zcrypt_cex4.c b/drivers/s390/crypto/zcrypt_cex4.c index ecf1fcc6315e..84cbcbab2741 100644 --- a/drivers/s390/crypto/zcrypt_cex4.c +++ b/drivers/s390/crypto/zcrypt_cex4.c @@ -85,7 +85,7 @@ static ssize_t cca_serialnr_show(struct device *dev, memset(&ci, 0, sizeof(ci)); if (ap_domain_index >= 0) - cca_get_info(ac->id, ap_domain_index, &ci); + cca_get_info(ac->id, ap_domain_index, &ci, 0); return sysfs_emit(buf, "%s\n", ci.serial); } @@ -119,7 +119,7 @@ static ssize_t cca_mkvps_show(struct device *dev, cca_get_info(AP_QID_CARD(zq->queue->qid), AP_QID_QUEUE(zq->queue->qid), - &ci); + &ci, 0); if (ci.new_aes_mk_state >= '1' && ci.new_aes_mk_state <= '3') n += sysfs_emit_at(buf, n, "AES NEW: %s 0x%016llx\n",