In gen_pci_probe, of_match_node can return a NULL pointer in case of
failure. The patch avoids a NULL pointer dereference in such a scenario.
Signed-off-by: Aditya Pakki <[email protected]>
---
drivers/pci/controller/pci-host-generic.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/controller/pci-host-generic.c b/drivers/pci/controller/pci-host-generic.c
index dea3ec7592a2..85f473f50e96 100644
--- a/drivers/pci/controller/pci-host-generic.c
+++ b/drivers/pci/controller/pci-host-generic.c
@@ -83,6 +83,8 @@ static int gen_pci_probe(struct platform_device *pdev)
struct pci_ecam_ops *ops;
of_id = of_match_node(gen_pci_of_match, pdev->dev.of_node);
+ if (!of_id)
+ return -ENXIO;
ops = (struct pci_ecam_ops *)of_id->data;
return pci_host_common_probe(pdev, ops);
--
2.17.1
On Mon, 18 Mar 2019 19:26:30 -0500 Aditya Pakki wrote:
>
> In gen_pci_probe, of_match_node can return a NULL pointer in case of
This could not happen. If the probe is called, it means OF registered a
device with a valid compatible string, so of_match_node cannot be NULL.
> failure. The patch avoids a NULL pointer dereference in such a scenario.
>
> Signed-off-by: Aditya Pakki <[email protected]>
> ---
> drivers/pci/controller/pci-host-generic.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pci/controller/pci-host-generic.c b/drivers/pci/controller/pci-host-generic.c
> index dea3ec7592a2..85f473f50e96 100644
> --- a/drivers/pci/controller/pci-host-generic.c
> +++ b/drivers/pci/controller/pci-host-generic.c
> @@ -83,6 +83,8 @@ static int gen_pci_probe(struct platform_device *pdev)
> struct pci_ecam_ops *ops;
>
> of_id = of_match_node(gen_pci_of_match, pdev->dev.of_node);
> + if (!of_id)
> + return -ENXIO;
> ops = (struct pci_ecam_ops *)of_id->data;
>
> return pci_host_common_probe(pdev, ops);
> --
> 2.17.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.infradead.org_mailman_listinfo_linux-2Darm-2Dkernel&d=DwICAg&c=7dfBJ8cXbWjhc0BhImu8wQ&r=wlaKTGoVCDxOzHc2QUzpzGEf9oY3eidXlAe3OF1omvo&m=Aaw3ijENR3L1GJbf1JjDlPa-S8-6UwqqXN40ECdoisk&s=ByG7jEMATcZVHKP-JW7j4efNcV-iAfJDFTEzC8Ba7oc&e=