From: Jacob Keller <jacob.e.kel...@intel.com>

The ice_sched_add_root_node() and ice_sched_add_node() functions have comments
to suppress Coverity warnings about a suspicious sizeof used when allocating the
children array of an struct ice_sched_node.

The size is calculated using the size of the scheduler node, which overallocates
the array by a significant amount.

Fix the code to correctly calculate the size by using *root->children and
*node->children respectively.

This saves some memory and allows us to drop the Coverity suppression comments.

Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com>
Signed-off-by: Ian Stokes <ian.sto...@intel.com>
---
 drivers/net/ice/base/ice_sched.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ice/base/ice_sched.c b/drivers/net/ice/base/ice_sched.c
index c9d70fb043..74d57329da 100644
--- a/drivers/net/ice/base/ice_sched.c
+++ b/drivers/net/ice/base/ice_sched.c
@@ -28,9 +28,8 @@ ice_sched_add_root_node(struct ice_port_info *pi,
        if (!root)
                return ICE_ERR_NO_MEMORY;
 
-       /* coverity[suspicious_sizeof] */
        root->children = (struct ice_sched_node **)
-               ice_calloc(hw, hw->max_children[0], sizeof(*root));
+               ice_calloc(hw, hw->max_children[0], sizeof(*root->children));
        if (!root->children) {
                ice_free(hw, root);
                return ICE_ERR_NO_MEMORY;
@@ -186,9 +185,9 @@ ice_sched_add_node(struct ice_port_info *pi, u8 layer,
        if (!node)
                return ICE_ERR_NO_MEMORY;
        if (hw->max_children[layer]) {
-               /* coverity[suspicious_sizeof] */
                node->children = (struct ice_sched_node **)
-                       ice_calloc(hw, hw->max_children[layer], sizeof(*node));
+                       ice_calloc(hw, hw->max_children[layer],
+                                  sizeof(*node->children));
                if (!node->children) {
                        ice_free(hw, node);
                        return ICE_ERR_NO_MEMORY;
-- 
2.43.0

Reply via email to