Commit 9eb61e71 authored by Harald Freudenberger's avatar Harald Freudenberger Committed by Heiko Carstens
Browse files

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: default avatarHarald Freudenberger <freude@linux.ibm.com>
Reviewed-by: default avatarHolger Dengler <dengler@linux.ibm.com>
Link: https://lore.kernel.org/r/20250424133619.16495-17-freude@linux.ibm.com


Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 989ed61e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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')
+1 −1
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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",