net/ice/base: handle error gracefully in HW table calloc
authorQi Zhang <qi.z.zhang@intel.com>
Wed, 26 Aug 2020 03:14:07 +0000 (11:14 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:09 +0000 (18:55 +0200)
In the ice_init_hw_tbls API, if the ice_calloc for es->written
fails, catch that error and bail out gracefully, instead of
continuing with a NULL pointer.

Signed-off-by: Surabhi Boob <surabhi.boob@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
drivers/net/ice/base/ice_flex_pipe.c

index 999ad6b..bf8530e 100644 (file)
@@ -3908,11 +3908,19 @@ enum ice_status ice_init_hw_tbls(struct ice_hw *hw)
                es->ref_count = (u16 *)
                        ice_calloc(hw, es->count, sizeof(*es->ref_count));
 
+               if (!es->ref_count)
+                       goto err;
+
                es->written = (u8 *)
                        ice_calloc(hw, es->count, sizeof(*es->written));
+
+               if (!es->written)
+                       goto err;
+
                es->mask_ena = (u32 *)
                        ice_calloc(hw, es->count, sizeof(*es->mask_ena));
-               if (!es->ref_count)
+
+               if (!es->mask_ena)
                        goto err;
        }
        return ICE_SUCCESS;