From 376dfdfc788a853c79a87c4bfdd94dc1ea678c43 Mon Sep 17 00:00:00 2001
From: Weimin Xiong <[email protected]>
Date: Tue, 21 Jul 2026 09:46:46 +0800
Subject: [PATCH v2] ice: parser: use kcalloc for table allocation
To: [email protected]
Cc: Alexander Lobakin <[email protected]>,
        Tony Nguyen <[email protected]>,
        Przemek Kitszel <[email protected]>,
        [email protected],
        [email protected],
        Andrew Lunn <[email protected]>,
        "David S. Miller" <[email protected]>,
        "Eric Dumazet" <[email protected]>,
        Jakub Kicinski <[email protected]>,
        Paolo Abeni <[email protected]>
In-Reply-To: <[email protected]>
References: <[email protected]>

Use kcalloc() when calculating the parser table allocation size so an
overflow in the firmware-provided item dimensions is detected before
allocation.

v2: Use kcalloc() instead of kzalloc(array_size()) as suggested by
    Alexander Lobakin <[email protected]>

---

v1->v2:
  - Remove redundant include of <linux/overflow.h>
  - Use kcalloc() instead of kzalloc(array_size()) as suggested by
    Alexander Lobakin <[email protected]>

Signed-off-by: Weimin Xiong <[email protected]>
---
 drivers/net/ethernet/intel/ice/ice_parser.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_parser.c 
b/drivers/net/ethernet/intel/ice/ice_parser.c
index f8e69630f..f5ae6c071 100644
--- a/drivers/net/ethernet/intel/ice/ice_parser.c
+++ b/drivers/net/ethernet/intel/ice/ice_parser.c
@@ -102,7 +102,7 @@ ice_parser_create_table(struct ice_hw *hw, u32 sect_type,
        if (!seg)
                return ERR_PTR(-EINVAL);
 
-       table = kzalloc(item_size * length, GFP_KERNEL);
+       table = kcalloc(length, item_size, GFP_KERNEL);
        if (!table)
                return ERR_PTR(-ENOMEM);
 

base-commit: 95e24e90b55ce6d9d266ed6f20514f37c931c751
-- 
2.43.0

Reply via email to