2023-05-23 01:45:37

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH 0/2][next] vfio/ccw: Replace one-element array with flexible-array member

Hi!

This small series aims to replace a one-element array with a
flexible-array member in struct vfio_ccw_parent.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [1].

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/160
Link: https://github.com/KSPP/linux/issues/297
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]

Gustavo A. R. Silva (2):
vfio/ccw: Replace one-element array with flexible-array member
vfio/ccw: Use struct_size() helper

drivers/s390/cio/vfio_ccw_drv.c | 2 +-
drivers/s390/cio/vfio_ccw_private.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

--
2.34.1



2023-05-23 01:46:16

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH 2/2][next] vfio/ccw: Use struct_size() helper

Prefer struct_size() over open-coded versions.

Link: https://github.com/KSPP/linux/issues/160
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/s390/cio/vfio_ccw_drv.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c
index 57906a9c6324..43601816ea4e 100644
--- a/drivers/s390/cio/vfio_ccw_drv.c
+++ b/drivers/s390/cio/vfio_ccw_drv.c
@@ -171,8 +171,7 @@ static int vfio_ccw_sch_probe(struct subchannel *sch)
return -ENODEV;
}

- parent = kzalloc(sizeof(*parent) + sizeof(struct mdev_type *),
- GFP_KERNEL);
+ parent = kzalloc(struct_size(parent, mdev_types, 1), GFP_KERNEL);
if (!parent)
return -ENOMEM;

--
2.34.1


2023-05-23 16:37:56

by Eric Farman

[permalink] [raw]
Subject: Re: [PATCH 2/2][next] vfio/ccw: Use struct_size() helper

On Mon, 2023-05-22 at 19:35 -0600, Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions.
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Reviewed-by: Eric Farman <[email protected]>

> ---
>  drivers/s390/cio/vfio_ccw_drv.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/s390/cio/vfio_ccw_drv.c
> b/drivers/s390/cio/vfio_ccw_drv.c
> index 57906a9c6324..43601816ea4e 100644
> --- a/drivers/s390/cio/vfio_ccw_drv.c
> +++ b/drivers/s390/cio/vfio_ccw_drv.c
> @@ -171,8 +171,7 @@ static int vfio_ccw_sch_probe(struct subchannel
> *sch)
>                 return -ENODEV;
>         }
>  
> -       parent = kzalloc(sizeof(*parent) + sizeof(struct mdev_type
> *),
> -                        GFP_KERNEL);
> +       parent = kzalloc(struct_size(parent, mdev_types, 1),
> GFP_KERNEL);
>         if (!parent)
>                 return -ENOMEM;
>  


2023-05-23 16:48:30

by Matthew Rosato

[permalink] [raw]
Subject: Re: [PATCH 0/2][next] vfio/ccw: Replace one-element array with flexible-array member

On 5/22/23 9:34 PM, Gustavo A. R. Silva wrote:
> Hi!
>
> This small series aims to replace a one-element array with a
> flexible-array member in struct vfio_ccw_parent.
>
> This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
> routines on memcpy() and help us make progress towards globally
> enabling -fstrict-flex-arrays=3 [1].
>
> Link: https://github.com/KSPP/linux/issues/79
> Link: https://github.com/KSPP/linux/issues/160
> Link: https://github.com/KSPP/linux/issues/297
> Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]
>
> Gustavo A. R. Silva (2):
> vfio/ccw: Replace one-element array with flexible-array member
> vfio/ccw: Use struct_size() helper
>
> drivers/s390/cio/vfio_ccw_drv.c | 2 +-
> drivers/s390/cio/vfio_ccw_private.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>

Hi Gustavo,

Thanks! For the series:

Reviewed-by: Matthew Rosato <[email protected]>

2023-05-23 17:34:13

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH 2/2][next] vfio/ccw: Use struct_size() helper

On Mon, May 22, 2023 at 07:35:59PM -0600, Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions.
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

2023-05-23 19:01:04

by Alexander Gordeev

[permalink] [raw]
Subject: Re: [PATCH 0/2][next] vfio/ccw: Replace one-element array with flexible-array member

On Mon, May 22, 2023 at 07:34:41PM -0600, Gustavo A. R. Silva wrote:
> This small series aims to replace a one-element array with a
> flexible-array member in struct vfio_ccw_parent.
>
> This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
> routines on memcpy() and help us make progress towards globally
> enabling -fstrict-flex-arrays=3 [1].
>
> Link: https://github.com/KSPP/linux/issues/79
> Link: https://github.com/KSPP/linux/issues/160
> Link: https://github.com/KSPP/linux/issues/297
> Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]
>
> Gustavo A. R. Silva (2):
> vfio/ccw: Replace one-element array with flexible-array member
> vfio/ccw: Use struct_size() helper
>
> drivers/s390/cio/vfio_ccw_drv.c | 2 +-
> drivers/s390/cio/vfio_ccw_private.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)

Fixed duplicate "the the" in patch #1 commit message and applied.

Thanks!