]>
Commit | Line | Data |
---|---|---|
bb104d9e SL |
1 | From 881cd77e24bf5682ba6a67591fb17d301316f848 Mon Sep 17 00:00:00 2001 |
2 | From: Kangjie Lu <kjlu@umn.edu> | |
3 | Date: Fri, 15 Mar 2019 02:29:43 -0500 | |
4 | Subject: PCI: rcar: Fix a potential NULL pointer dereference | |
5 | ||
6 | [ Upstream commit f0d14edd2ba43b995bef4dd5da5ffe0ae19321a1 ] | |
7 | ||
8 | In case __get_free_pages() fails and returns NULL, fix the return | |
9 | value to -ENOMEM and release resources to avoid dereferencing a | |
10 | NULL pointer. | |
11 | ||
12 | Signed-off-by: Kangjie Lu <kjlu@umn.edu> | |
13 | Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | |
14 | Reviewed-by: Ulrich Hecht <uli+renesas@fpond.eu> | |
15 | Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> | |
16 | Reviewed-by: Simon Horman <horms+renesas@verge.net.au> | |
17 | Signed-off-by: Sasha Levin <sashal@kernel.org> | |
18 | --- | |
19 | drivers/pci/host/pcie-rcar.c | 4 ++++ | |
20 | 1 file changed, 4 insertions(+) | |
21 | ||
22 | diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c | |
23 | index d6196f7b1d58..77d931178178 100644 | |
24 | --- a/drivers/pci/host/pcie-rcar.c | |
25 | +++ b/drivers/pci/host/pcie-rcar.c | |
26 | @@ -886,6 +886,10 @@ static int rcar_pcie_enable_msi(struct rcar_pcie *pcie) | |
27 | ||
28 | /* setup MSI data target */ | |
29 | msi->pages = __get_free_pages(GFP_KERNEL, 0); | |
30 | + if (!msi->pages) { | |
31 | + err = -ENOMEM; | |
32 | + goto err; | |
33 | + } | |
34 | base = virt_to_phys((void *)msi->pages); | |
35 | ||
36 | rcar_pci_write_reg(pcie, base | MSIFE, PCIEMSIALR); | |
37 | -- | |
38 | 2.20.1 | |
39 |