iwlwifi: mvm: Fix possible NULL pointer dereference
authorAvraham Stern <avraham.stern@intel.com>
Mon, 24 Dec 2018 08:59:13 +0000 (10:59 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Thu, 14 Feb 2019 09:29:46 +0000 (11:29 +0200)
iwl_mvm_te_clear_data() is called for cleanup in case sending
the HOT_SPOT_CMD failed. However, in case sending the command
caused a fw error and restart (e.g. if the command is not supported)
then the te_data pointer may no longer be valid, which leads to
a NULL pointer dereference.

Fix it by checking that the te_data pointer is not NULL before
dereferencing it.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c

index 5b34100e9099ad9bbadb711a0e449c35cba74bae..9693fa4cdc39b1b3038aeb699ada80df0ec69fe2 100644 (file)
@@ -85,7 +85,7 @@ void iwl_mvm_te_clear_data(struct iwl_mvm *mvm,
 {
        lockdep_assert_held(&mvm->time_event_lock);
 
-       if (!te_data->vif)
+       if (!te_data || !te_data->vif)
                return;
 
        list_del(&te_data->list);