vfio/ccw: replace one-element array with flexible-array member
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 23 May 2023 01:35:12 +0000 (19:35 -0600)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 1 Jun 2023 15:07:55 +0000 (17:07 +0200)
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element array with flexible-array
member in struct vfio_ccw_parent and refactor the rest of the code
accordingly.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/297
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/r/3c10549ebe1564eade68a2515bde233527376971.1684805398.git.gustavoars@kernel.org
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
drivers/s390/cio/vfio_ccw_drv.c
drivers/s390/cio/vfio_ccw_private.h

index ff538a0..57906a9 100644 (file)
@@ -171,7 +171,8 @@ static int vfio_ccw_sch_probe(struct subchannel *sch)
                return -ENODEV;
        }
 
-       parent = kzalloc(sizeof(*parent), GFP_KERNEL);
+       parent = kzalloc(sizeof(*parent) + sizeof(struct mdev_type *),
+                        GFP_KERNEL);
        if (!parent)
                return -ENOMEM;
 
index b441ae6..b62bbc5 100644 (file)
@@ -79,7 +79,7 @@ struct vfio_ccw_parent {
 
        struct mdev_parent      parent;
        struct mdev_type        mdev_type;
-       struct mdev_type        *mdev_types[1];
+       struct mdev_type        *mdev_types[];
 };
 
 /**