> Automatically cleaned up pointers need to be initialized before exiting > their scope. In this case, they need to be initialized to NULL before > any return statement. I suggest to reconsider such information a bit more. … > +++ b/drivers/net/ethernet/intel/ice/ice_common.c > @@ -1002,8 +1002,8 @@ static void ice_get_itr_intrl_gran(struct ice_hw *hw) > */ > int ice_init_hw(struct ice_hw *hw) > { > - struct ice_aqc_get_phy_caps_data *pcaps __free(kfree); > - void *mac_buf __free(kfree); > + struct ice_aqc_get_phy_caps_data *pcaps __free(kfree) = NULL; > + void *mac_buf __free(kfree) = NULL; > u16 mac_buf_len; > int status; How do you think about to reduce the scope for affected local variables instead with the help of a small script (like the following) for the semantic patch language? @movement1@ attribute name __free; @@ -struct ice_aqc_get_phy_caps_data *pcaps __free(kfree); ... when any +struct ice_aqc_get_phy_caps_data * pcaps +__free(kfree) = kzalloc(sizeof(*pcaps), ...); @movement2@ attribute name __free; @@ -void *mac_buf __free(kfree); ... when any +void * mac_buf +__free(kfree) = kcalloc(2, sizeof(struct ice_aqc_manage_mac_read_resp), ...); Regards, Markus