]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/zcrypt: Propagate xflags argument with cca_get_info()
authorHarald Freudenberger <freude@linux.ibm.com>
Thu, 24 Apr 2025 13:36:10 +0000 (15:36 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 30 Apr 2025 09:34:02 +0000 (11:34 +0200)
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 <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Link: https://lore.kernel.org/r/20250424133619.16495-17-freude@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/crypto/zcrypt_ccamisc.c
drivers/s390/crypto/zcrypt_ccamisc.h
drivers/s390/crypto/zcrypt_cex4.c

index e44e115ca77b17619603fa0efad72d8e460565e3..c61d7cbc31e8ca5b8dac4eff9b45cdfcfbacf246 100644 (file)
@@ -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')
index ca41a675dd3b8d81b40400caffd9cc4b9950ef09..38d69aceefe6c94d3d5a56068e16ad7748fb44c7 100644 (file)
@@ -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);
index ecf1fcc6315edcab5c69e13467d0eafb844ae9e6..84cbcbab2741d6493c27d421a7b7b016482bd091 100644 (file)
@@ -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",