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")
Cc: [email protected]
Cc: Tony Krowiak <[email protected]>
Reported-by: Christian Borntraeger <[email protected]>
Signed-off-by: Jason J. Herne <[email protected]>
---
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;
--
2.37.3
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 <[email protected]>
> Cc: [email protected]
> Cc: Tony Krowiak <[email protected]>
> Reported-by: Christian Borntraeger <[email protected]>
> Signed-off-by: Jason J. Herne <[email protected]>
> ---
> 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;
Am 21.10.22 um 16:59 schrieb Jason J. Herne:
> 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")
> Cc: [email protected]
> Cc: Tony Krowiak <[email protected]>
> Reported-by: Christian Borntraeger <[email protected]>
> Signed-off-by: Jason J. Herne <[email protected]>
> ---
> 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;
Thanks, will go via s390-fixes.
Alex, FYI.