Messages in this thread | | | Date | Tue, 22 Mar 2022 09:13:46 -0400 | Subject | Re: [PATCH v18 13/18] s390/vfio-ap: implement in-use callback for vfio_ap driver | From | "Jason J. Herne" <> |
| |
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@linux.ibm.com)
| |