From: Bjorn Helgaas <helgaas@kernel.org>
To: Aleksandr Mishin <amishin@t-argos.ru>
Cc: "Rob Herring" <robh@kernel.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Serge Semin" <fancer.lancer@gmail.com>,
"Niklas Cassel" <cassel@kernel.org>,
"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
"Damien Le Moal" <dlemoal@kernel.org>,
"Siddharth Vadapalli" <s-vadapalli@ti.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
lvc-project@linuxtesting.org
Subject: Re: [PATCH] PCI: dwc: keystone: Fix potential NULL dereference
Date: Tue, 2 Apr 2024 12:31:21 -0500 [thread overview]
Message-ID: <20240402173121.GA1819268@bhelgaas> (raw)
In-Reply-To: <20240329051947.28900-1-amishin@t-argos.ru>
On Fri, Mar 29, 2024 at 08:19:47AM +0300, Aleksandr Mishin wrote:
> In ks_pcie_setup_rc_app_regs() resource_list_first_type() may return
> NULL which is later dereferenced. Fix this bug by adding NULL check.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: 0f71c60ffd26 ("PCI: dwc: Remove storing of PCI resources")
> Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
> ---
> drivers/pci/controller/dwc/pci-keystone.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c
> index 844de4418724..00d616654171 100644
> --- a/drivers/pci/controller/dwc/pci-keystone.c
> +++ b/drivers/pci/controller/dwc/pci-keystone.c
> @@ -392,7 +392,11 @@ static void ks_pcie_setup_rc_app_regs(struct keystone_pcie *ks_pcie)
> struct resource *mem;
> int i;
>
> - mem = resource_list_first_type(&pp->bridge->windows, IORESOURCE_MEM)->res;
> + struct resource_entry *ft = resource_list_first_type(&pp->bridge->windows, IORESOURCE_MEM);
> + if (!ft)
> + return;
Like the other one
(https://lore.kernel.org/all/20240328180126.23574-1-amishin@t-argos.ru/),
I think this potentially avoids a NULL pointer dereference (though I
didn't do the analysis in this case to see whether that's actually
possible), but fails to consider the implication of simply skipping
the rest of ks_pcie_setup_rc_app_regs().
"start" and "end" are used only for the loop about "Using Direct 1:1
mapping of RC <-> PCI memory space". If there's no IORESOURCE_MEM
resource, obviously that loop makes no sense. The function would
probably be improved by moving the resource_list_first_type() so it's
next to the loop that uses the result.
But the rest of the function doesn't depend on that IORESOURCE_MEM
resource, and it's not at all clear that the rest of the function
should be skipped.
> + mem = ft->res;
> start = mem->start;
> end = mem->end;
>
> --
> 2.30.2
>
next prev parent reply other threads:[~2024-04-02 17:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-29 5:19 [PATCH] PCI: dwc: keystone: Fix potential NULL dereference Aleksandr Mishin
2024-04-02 17:31 ` Bjorn Helgaas [this message]
2024-04-25 9:21 ` [PATCH v2] " Aleksandr Mishin
2024-04-25 13:00 ` Alexander Lobakin
2024-04-26 22:47 ` Bjorn Helgaas
2024-04-27 8:44 ` Manivannan Sadhasivam
2024-04-27 8:47 ` Manivannan Sadhasivam
2024-04-29 6:53 ` Niklas Cassel
2024-05-03 12:57 ` [PATCH v3] PCI: dwc: keystone: Fix NULL pointer dereference in case of DT error in ks_pcie_setup_rc_app_regs() Aleksandr Mishin
2024-05-04 17:01 ` Manivannan Sadhasivam
2024-05-05 6:15 ` [PATCH v4] " Aleksandr Mishin
2024-05-17 17:13 ` Krzysztof Wilczyński
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240402173121.GA1819268@bhelgaas \
--to=helgaas@kernel.org \
--cc=amishin@t-argos.ru \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=dlemoal@kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=lvc-project@linuxtesting.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=robh@kernel.org \
--cc=s-vadapalli@ti.com \
--cc=u.kleine-koenig@pengutronix.de \
--cc=yoshihiro.shimoda.uh@renesas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.