]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.19.51/pci-rcar-fix-a-potential-null-pointer-dereference.patch
Linux 5.1.10
[thirdparty/kernel/stable-queue.git] / releases / 4.19.51 / pci-rcar-fix-a-potential-null-pointer-dereference.patch
1 From 0b30f0610fb0023fa4c10449dd2462629e76ac18 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/controller/pcie-rcar.c | 4 ++++
20 1 file changed, 4 insertions(+)
21
22 diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c
23 index 6a4e435bd35f..765c39911c0c 100644
24 --- a/drivers/pci/controller/pcie-rcar.c
25 +++ b/drivers/pci/controller/pcie-rcar.c
26 @@ -931,6 +931,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