Re: [PATCH][next] NTB: Use struct_size() helper in devm_kzalloc()

From: Jon Mason
Date: Mon Aug 24 2020 - 11:09:50 EST


On Fri, Jun 19, 2020 at 01:10:55PM -0600, Logan Gunthorpe wrote:
>
>
> On 2020-06-19 11:25 a.m., Gustavo A. R. Silva wrote:
> > Make use of the struct_size() helper instead of an open-coded version
> > in order to avoid any potential type mistakes. Also, remove unnecessary
> > variable _struct_size_.
> >
> > This code was detected with the help of Coccinelle and, audited and
> > fixed manually.
> >
> > Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83
> > Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
>
> Cool, I didn't know that existed! Thanks!
>
> Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>

Added to the ntb-next branch.

Thanks,
Jon


>
> > ---
> > drivers/ntb/test/ntb_msi_test.c | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/drivers/ntb/test/ntb_msi_test.c b/drivers/ntb/test/ntb_msi_test.c
> > index 99d826ed9c34..7095ecd6223a 100644
> > --- a/drivers/ntb/test/ntb_msi_test.c
> > +++ b/drivers/ntb/test/ntb_msi_test.c
> > @@ -319,7 +319,6 @@ static void ntb_msit_remove_dbgfs(struct ntb_msit_ctx *nm)
> > static int ntb_msit_probe(struct ntb_client *client, struct ntb_dev *ntb)
> > {
> > struct ntb_msit_ctx *nm;
> > - size_t struct_size;
> > int peers;
> > int ret;
> >
> > @@ -352,9 +351,7 @@ static int ntb_msit_probe(struct ntb_client *client, struct ntb_dev *ntb)
> > return ret;
> > }
> >
> > - struct_size = sizeof(*nm) + sizeof(*nm->peers) * peers;
> > -
> > - nm = devm_kzalloc(&ntb->dev, struct_size, GFP_KERNEL);
> > + nm = devm_kzalloc(&ntb->dev, struct_size(nm, peers, peers), GFP_KERNEL);
> > if (!nm)
> > return -ENOMEM;
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups "linux-ntb" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-ntb+unsubscribe@xxxxxxxxxxxxxxxx.
> To view this discussion on the web visit https://groups.google.com/d/msgid/linux-ntb/268330b2-e42b-4d62-1ff0-8462d68e498e%40deltatee.com.