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