public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
From: Holger Dengler <dengler@linux.ibm.com>
To: Harald Freudenberger <freude@linux.ibm.com>,
	ifranzki@linux.ibm.com, fcallies@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com
Cc: linux-s390@vger.kernel.org, herbert@gondor.apana.org.au
Subject: Re: [PATCH v3 07/21] s390/zcrypt: Rework zcrypt function zcrypt_device_status_mask_ext
Date: Wed, 9 Apr 2025 10:56:33 +0200	[thread overview]
Message-ID: <5a3ac12d-6aff-42d4-87fc-1d8cc5a26d06@linux.ibm.com> (raw)
In-Reply-To: <20250327143941.45507-8-freude@linux.ibm.com>

On 27/03/2025 15:39, Harald Freudenberger wrote:
> Rework the existing function zcrypt_device_status_mask_ext():
> Add two new parameters to provide upper limits for
> cards and queues. The existing implementation needed an
> array of 256 * 256 * 4 = 256 KB which is really huge. The
> reworked function is more flexible in the sense that the
> caller can decide the upper limit for cards and domains to
> be stored into the status array. So for example a caller may
> decide to only query for cards 0...127 and queues 0...127
> and thus only an array of size 128 * 128 * 4 = 64 KB is needed.
> 
> Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>

Looks good now. With the minor change mentioned below
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>

> ---
>  drivers/s390/crypto/zcrypt_api.c      | 14 +++++++++++---
>  drivers/s390/crypto/zcrypt_api.h      |  3 ++-
>  drivers/s390/crypto/zcrypt_ccamisc.c  | 17 ++++++++++++-----
>  drivers/s390/crypto/zcrypt_ep11misc.c | 12 ++++++++----
>  4 files changed, 33 insertions(+), 13 deletions(-)
> 
[...]
> diff --git a/drivers/s390/crypto/zcrypt_ep11misc.c b/drivers/s390/crypto/zcrypt_ep11misc.c
> index 12efcf1b54fc..504064c27a8b 100644
> --- a/drivers/s390/crypto/zcrypt_ep11misc.c
> +++ b/drivers/s390/crypto/zcrypt_ep11misc.c
> @@ -1599,7 +1599,7 @@ int ep11_findcard2(u32 **apqns, u32 *nr_apqns, u16 cardnr, u16 domain,
>  {
>  	struct zcrypt_device_status_ext *device_status;
>  	u32 *_apqns = NULL, _nr_apqns = 0;
> -	int i, card, dom, rc = -ENOMEM;
> +	int i, card, dom, rc;

If you initialize rc with -ENOMEM here ....

>  	struct ep11_domain_info edi;
>  	struct ep11_card_info eci;
>  
> @@ -1609,13 +1609,16 @@ int ep11_findcard2(u32 **apqns, u32 *nr_apqns, u16 cardnr, u16 domain,
>  				 GFP_KERNEL);
>  	if (!device_status)
>  		return -ENOMEM;
> -	zcrypt_device_status_mask_ext(device_status);
> +
> +	zcrypt_device_status_mask_ext(device_status,
> +				      MAX_ZDEV_CARDIDS_EXT,
> +				      MAX_ZDEV_DOMAINS_EXT);
>  
>  	/* allocate 1k space for up to 256 apqns */
>  	_apqns = kmalloc_array(256, sizeof(u32), GFP_KERNEL);
>  	if (!_apqns) {
> -		kvfree(device_status);
> -		return -ENOMEM;
> +		rc = -ENOMEM;
> +		goto out;

... you do not need to set it here. Just jump to out.

if (!_apqns)
	goto out;

>  	}
>  
>  	/* walk through all the crypto apqnss */
[...]

-- 
Mit freundlichen Grüßen / Kind regards
Holger Dengler
--
IBM Systems, Linux on IBM Z Development
dengler@linux.ibm.com


  reply	other threads:[~2025-04-09  8:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-27 14:39 [PATCH v3 00/21] AP bus/zcrypt/pkey/paes no-mem-alloc patches Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 01/21] s390/ap: Move response_type struct into ap_msg struct Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 02/21] s390/ap/zcrypt: Rework AP message buffer allocation Harald Freudenberger
2025-03-31 10:47   ` Heiko Carstens
2025-03-27 14:39 ` [PATCH v3 03/21] s390/ap: Introduce ap message buffer pool Harald Freudenberger
2025-03-31 10:46   ` Heiko Carstens
2025-03-27 14:39 ` [PATCH v3 04/21] s390/ap/zcrypt: New xflag parameter Harald Freudenberger
2025-03-31 11:03   ` Heiko Carstens
2025-04-09  8:40   ` Holger Dengler
2025-04-09 13:46     ` Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 05/21] s390/zcrypt: Introduce cprb mempool for cca misc functions Harald Freudenberger
2025-03-31 11:20   ` Heiko Carstens
2025-03-27 14:39 ` [PATCH v3 06/21] s390/zcrypt: Introduce cprb mempool for ep11 " Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 07/21] s390/zcrypt: Rework zcrypt function zcrypt_device_status_mask_ext Harald Freudenberger
2025-04-09  8:56   ` Holger Dengler [this message]
2025-04-09 13:42     ` Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 08/21] s390/zcrypt: Introduce pre-allocated device status array for cca misc Harald Freudenberger
2025-04-09 10:13   ` Holger Dengler
2025-03-27 14:39 ` [PATCH v3 09/21] s390/zcrypt: Introduce pre-allocated device status array for ep11 misc Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 10/21] s390/zcrypt: Remove unused functions from cca misc Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 11/21] s390/zcrypt: Remove CCA and EP11 card and domain info caches Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 12/21] s390/zcrypt/pkey: Rework cca findcard() implementation and callers Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 13/21] s390/zcrypt/pkey: Rework ep11 " Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 14/21] s390/zcrypt: Rework cca misc functions kmallocs to use the cprb mempool Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 15/21] s390/zcrypt: Propagate xflags argument with cca_get_info() Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 16/21] s390/zcrypt: Locate ep11_domain_query_info onto the stack instead of kmalloc Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 17/21] s390/zcrypt: Rework ep11 misc functions to use cprb mempool Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 18/21] s390/pkey: Rework CCA pkey handler to use stack for small memory allocs Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 19/21] s390/pkey: Rework EP11 " Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 20/21] s390/zcrypt/pkey: Provide and pass xflags within pkey and zcrypt layers Harald Freudenberger
2025-03-27 14:39 ` [PATCH v3 21/21] s390/pkey/crypto: Introduce xflags param for pkey in-kernel API Harald Freudenberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5a3ac12d-6aff-42d4-87fc-1d8cc5a26d06@linux.ibm.com \
    --to=dengler@linux.ibm.com \
    --cc=agordeev@linux.ibm.com \
    --cc=fcallies@linux.ibm.com \
    --cc=freude@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=ifranzki@linux.ibm.com \
    --cc=linux-s390@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox