2020-06-20 04:13:51

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH][next] NTB: Use struct_size() helper in devm_kzalloc()

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 <[email protected]>
---
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;

--
2.27.0


2020-06-20 04:32:10

by Logan Gunthorpe

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



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 <[email protected]>

Cool, I didn't know that existed! Thanks!

Reviewed-by: Logan Gunthorpe <[email protected]>

> ---
> 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;
>
>

2020-08-24 15:10:56

by Jon Mason

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

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 <[email protected]>
>
> Cool, I didn't know that existed! Thanks!
>
> Reviewed-by: Logan Gunthorpe <[email protected]>

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 [email protected].
> To view this discussion on the web visit https://groups.google.com/d/msgid/linux-ntb/268330b2-e42b-4d62-1ff0-8462d68e498e%40deltatee.com.