NTB: Use struct_size() helper in devm_kzalloc()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 19 Jun 2020 17:25:14 +0000 (12:25 -0500)
committerJon Mason <jdmason@kudzu.us>
Mon, 24 Aug 2020 14:58:06 +0000 (10:58 -0400)
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@kernel.org>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/test/ntb_msi_test.c

index 99d826e..7095ecd 100644 (file)
@@ -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;