aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch')
-rw-r--r--package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch b/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch
new file mode 100644
index 0000000000..9b9e49b66a
--- /dev/null
+++ b/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch
@@ -0,0 +1,31 @@
+From 8e809b241695252e397bf0d7fc5f36e115c38831 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robert.marko@sartura.hr>
+Date: Fri, 5 Mar 2021 11:47:59 +0100
+Subject: [PATCH] mwlwifi: fix PCIe DT node null pointer dereference
+
+pci_bus_to_OF_node() used to get the PCI bus DT node
+returns node if found or NULL if none is found.
+
+Since the return of pci_bus_to_OF_node() is not checked in
+the DT node name print it will cause a null pointer
+dereference and crash the kernel.
+
+So first check whether the node is not NULL and then print.
+
+Signed-off-by: Robert Marko <robert.marko@sartura.hr>
+---
+ hif/pcie/pcie.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/hif/pcie/pcie.c
++++ b/hif/pcie/pcie.c
+@@ -570,7 +570,8 @@ static struct device_node *pcie_get_devi
+ struct device_node *dev_node;
+
+ dev_node = pci_bus_to_OF_node(pcie_priv->pdev->bus);
+- wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);
++ if (dev_node)
++ wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);
+
+ return dev_node;
+ }