[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37e98e6e-35a7-a77a-b057-e19b307c631a@linux.ibm.com>
Date: Tue, 22 Mar 2022 09:13:46 -0400
From: "Jason J. Herne" <jjherne@...ux.ibm.com>
To: Tony Krowiak <akrowiak@...ux.ibm.com>, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Cc: freude@...ux.ibm.com, borntraeger@...ibm.com, cohuck@...hat.com,
mjrosato@...ux.ibm.com, pasic@...ux.ibm.com,
alex.williamson@...hat.com, kwankhede@...dia.com,
fiuczy@...ux.ibm.com
Subject: Re: [PATCH v18 13/18] s390/vfio-ap: implement in-use callback for
vfio_ap driver
On 2/14/22 19:50, Tony Krowiak wrote:
...
> diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
> index e9f7ec6fc6a5..63dfb9b89581 100644
> --- a/drivers/s390/crypto/vfio_ap_ops.c
> +++ b/drivers/s390/crypto/vfio_ap_ops.c
> @@ -617,10 +617,32 @@ static int vfio_ap_mdev_verify_no_sharing(unsigned long *mdev_apm,
> return 0;
> }
>
> +/**
> + * vfio_ap_mdev_validate_masks - verify that the APQNs assigned to the mdev are
> + * not reserved for the default zcrypt driver and
> + * are not assigned to another mdev.
> + *
> + * @matrix_mdev: the mdev to which the APQNs being validated are assigned.
> + *
> + * Return: One of the following values:
> + * o the error returned from the ap_apqn_in_matrix_owned_by_def_drv() function,
> + * most likely -EBUSY indicating the ap_perms_mutex lock is already held.
> + * o EADDRNOTAVAIL if an APQN assigned to @matrix_mdev is reserved for the
> + * zcrypt default driver.
> + * o EADDRINUSE if an APQN assigned to @matrix_mdev is assigned to another mdev
> + * o A zero indicating validation succeeded.
> + */
> static int vfio_ap_mdev_validate_masks(struct ap_matrix_mdev *matrix_mdev)
> {
> - if (ap_apqn_in_matrix_owned_by_def_drv(matrix_mdev->matrix.apm,
> - matrix_mdev->matrix.aqm))
> + int ret;
> +
> + ret = ap_apqn_in_matrix_owned_by_def_drv(matrix_mdev->matrix.apm,
> + matrix_mdev->matrix.aqm);
> +
> + if (ret < 0)
> + return ret;
> +
> + if (ret == 1)
> return -EADDRNOTAVAIL;
I took a look at ap_apqn_in_matrix_owned_by_def_drv(). It appears that this function
can only ever return 0 or 1. This patch is changed to watch for a negative return
value from ap_apqn_in_matrix_owned_by_def_drv(). Am I missing something?
--
-- Jason J. Herne (jjherne@...ux.ibm.com)
Powered by blists - more mailing lists