ice: Graceful error handling in HW table calloc failure
authorSurabhi Boob <surabhi.boob@intel.com>
Thu, 30 Jul 2020 00:19:18 +0000 (17:19 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Sat, 1 Aug 2020 15:44:04 +0000 (08:44 -0700)
In the ice_init_hw_tbls, if the devm_kcalloc for es->written fails, catch
that error and bail out gracefully, instead of continuing with a NULL
pointer.

Fixes: 32d63fa1e9f3 ("ice: Initialize DDP package structures")
Signed-off-by: Surabhi Boob <surabhi.boob@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_flex_pipe.c

index d59869b..5ceba00 100644 (file)
@@ -3151,10 +3151,12 @@ enum ice_status ice_init_hw_tbls(struct ice_hw *hw)
                es->ref_count = devm_kcalloc(ice_hw_to_dev(hw), es->count,
                                             sizeof(*es->ref_count),
                                             GFP_KERNEL);
+               if (!es->ref_count)
+                       goto err;
 
                es->written = devm_kcalloc(ice_hw_to_dev(hw), es->count,
                                           sizeof(*es->written), GFP_KERNEL);
-               if (!es->ref_count)
+               if (!es->written)
                        goto err;
        }
        return 0;