On Fri, Apr 30, 2021 at 11:34:50AM -0500, Bjorn Helgaas wrote: > On Fri, Apr 30, 2021 at 09:47:06AM +0200, Christophe JAILLET wrote: > > Le 29/04/2021 à 13:00, Colin King a écrit : > > > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > > > > > The call to platform_get_resource_byname can potentially return null, so > > > add a null pointer check to avoid a null pointer dereference issue. > > > > > > Addresses-Coverity: ("Dereference null return") > > > Fixes: 441903d9e8f0 ("PCI: mediatek-gen3: Add MediaTek Gen3 driver for MT8192") > > > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > > --- > > > drivers/pci/controller/pcie-mediatek-gen3.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c > > > index 20165e4a75b2..3c5b97716d40 100644 > > > --- a/drivers/pci/controller/pcie-mediatek-gen3.c > > > +++ b/drivers/pci/controller/pcie-mediatek-gen3.c > > > @@ -721,6 +721,8 @@ static int mtk_pcie_parse_port(struct mtk_pcie_port *port) > > > int ret; > > > regs = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pcie-mac"); > > > + if (!regs) > > > + return -EINVAL; > > > port->base = devm_ioremap_resource(dev, regs); > > > if (IS_ERR(port->base)) { > > > dev_err(dev, "failed to map register base\n"); > > > > > > > Nitpick: > > Using 'devm_platform_ioremap_resource_byname' is slightly less verbose > > and should please Coverity. > > Not a nitpick at all. Jianjun is correct that devm_ioremap_resource() > does check "regs" for NULL and it fails gracefully before trying to > dereference it, so the extra check shouldn't be needed. And most > cases in drivers/pci/ look like this, without the extra check: > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "app"); > base = devm_ioremap_resource(dev, res); > if (IS_ERR(base)) > ... > > If devm_platform_ioremap_resource_byname() keeps Coverity happy, I > think that's what we should be doing across drivers/pci/. Coverity > false positives are a hassle. Smatch knows that devm_ioremap_resource() will return ERR_PTR(-EINVAL) when we pass it a NULL. ;) regards, dan carpenter