Kaynağa Gözat

iwlwifi: don't crash on firmware file missing info

If a firmware file misses one of the required
instruction or data pieces, the driver currently
crashes. Let it gracefully refuse that firmware
file instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Johannes Berg 15 yıl önce
ebeveyn
işleme
c9696b2b6c
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      drivers/net/wireless/iwlwifi/iwl-helpers.h

+ 5 - 0
drivers/net/wireless/iwlwifi/iwl-helpers.h

@@ -92,6 +92,11 @@ static inline void iwl_free_fw_desc(struct pci_dev *pci_dev,
 static inline int iwl_alloc_fw_desc(struct pci_dev *pci_dev,
 				    struct fw_desc *desc)
 {
+	if (!desc->len) {
+		desc->v_addr = NULL;
+		return -EINVAL;
+	}
+
 	desc->v_addr = dma_alloc_coherent(&pci_dev->dev, desc->len,
 					  &desc->p_addr, GFP_KERNEL);
 	return (desc->v_addr != NULL) ? 0 : -ENOMEM;