ice: Fix a memory leak in an error handling path in 'ice_pf_dcb_cfg()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 20 Jun 2021 13:28:06 +0000 (15:28 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 25 Jun 2021 18:30:50 +0000 (11:30 -0700)
If this 'kzalloc()' fails we must free some resources as in all the other
error handling paths of this function.

Fixes: 348048e724a0 ("ice: Implement iidc operations")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_dcb_lib.c

index 857dc62..926cf74 100644 (file)
@@ -316,8 +316,10 @@ int ice_pf_dcb_cfg(struct ice_pf *pf, struct ice_dcbx_cfg *new_cfg, bool locked)
 
        /* Notify AUX drivers about impending change to TCs */
        event = kzalloc(sizeof(*event), GFP_KERNEL);
-       if (!event)
-               return -ENOMEM;
+       if (!event) {
+               ret = -ENOMEM;
+               goto free_cfg;
+       }
 
        set_bit(IIDC_EVENT_BEFORE_TC_CHANGE, event->type);
        ice_send_event_to_aux(pf, event);