Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

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 <gustavo...@kernel.org>
---
 drivers/net/ethernet/chelsio/cxgb4/sge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c 
b/drivers/net/ethernet/chelsio/cxgb4/sge.c
index 1359158652b7..b3da3d05aa2d 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
@@ -2431,7 +2431,7 @@ int cxgb4_ethofld_send_flowc(struct net_device *dev, u32 
eotid, u32 tc)
        struct sk_buff *skb;
        int ret = 0;
 
-       len = sizeof(*flowc) + sizeof(struct fw_flowc_mnemval) * nparams;
+       len = struct_size(flowc, mnemval, nparams);
        len16 = DIV_ROUND_UP(len, 16);
 
        entry = cxgb4_lookup_eotid(&adap->tids, eotid);
-- 
2.27.0

Reply via email to