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

2 views
Skip to first unread message

Gustavo A. R. Silva

unread,
Jun 19, 2020, 1:19:50 PM6/19/20
to Jon Mason, Dave Jiang, Allen Hubbe, linu...@googlegroups.com, linux-...@vger.kernel.org, Gustavo A. R. Silva
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 <gusta...@kernel.org>
---
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

Logan Gunthorpe

unread,
Jun 19, 2020, 3:11:02 PM6/19/20
to Gustavo A. R. Silva, Jon Mason, Dave Jiang, Allen Hubbe, linu...@googlegroups.com, linux-...@vger.kernel.org, Gustavo A. R. Silva


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 <gusta...@kernel.org>

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

Reviewed-by: Logan Gunthorpe <log...@deltatee.com>

Jon Mason

unread,
Aug 24, 2020, 10:58:59 AM8/24/20
to Logan Gunthorpe, Gustavo A. R. Silva, Dave Jiang, Allen Hubbe, linu...@googlegroups.com, linux-...@vger.kernel.org, Gustavo A. R. Silva
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 <gusta...@kernel.org>
>
> Cool, I didn't know that existed! Thanks!
>
> Reviewed-by: Logan Gunthorpe <log...@deltatee.com>

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+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/linux-ntb/268330b2-e42b-4d62-1ff0-8462d68e498e%40deltatee.com.
Reply all
Reply to author
Forward
0 new messages