Re: [PATCH] s390/vfio-ap: Fix memory allocation for mdev_types array

From: Matthew Rosato
Date: Fri Oct 21 2022 - 12:47:51 EST


On 10/21/22 10:59 AM, Jason J. Herne wrote:
> The vfio-ap crypto driver fails to allocate memory for an array of
> pointers used to pass supported mdev types to mdev_register_parent().
>
> Since we only support a single mdev type, the fix is to allocate a
> single entry in the ap_matrix_dev->mdev_types array.
>
> Fixes: 63e685747784 ("s390: vfio-ap: base implementation of VFIO AP device driver")

I think you want

Fixes: da44c340c4fe ("vfio/mdev: simplify mdev_type handling")

Where *mdev_types[] was introduced. The fix you propose is the same way Christoph (added to CC) handled vfio-ccw, LGTM.

Reviewed-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxx>

> Cc: stable@xxxxxxxxxxxxxxx
> Cc: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
> Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>
> Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxxxxx>
> ---
> drivers/s390/crypto/vfio_ap_private.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/s390/crypto/vfio_ap_private.h b/drivers/s390/crypto/vfio_ap_private.h
> index 2eddd5f34ed3..976a65f32e7d 100644
> --- a/drivers/s390/crypto/vfio_ap_private.h
> +++ b/drivers/s390/crypto/vfio_ap_private.h
> @@ -52,7 +52,7 @@ struct ap_matrix_dev {
> struct mutex guests_lock; /* serializes access to each KVM guest */
> struct mdev_parent parent;
> struct mdev_type mdev_type;
> - struct mdev_type *mdev_types[];
> + struct mdev_type *mdev_types[1];
> };
>
> extern struct ap_matrix_dev *matrix_dev;