Messages in this thread | | | Date | Tue, 15 Nov 2022 20:28:50 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH net v4] net: mvpp2: fix possible invalid pointer dereference |
| |
On Wed, 16 Nov 2022 10:14:37 +0800 Hui Tang wrote: > It will cause invalid pointer dereference to priv->cm3_base behind, > if PTR_ERR(priv->cm3_base) in mvpp2_get_sram(). > > Fixes: a59d354208a7 ("net: mvpp2: enable global flow control") > Signed-off-by: Hui Tang <tanghui20@huawei.com>
Please do not repost new versions so often:
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#tl-dr
do not use --in-reply-to
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c > index d98f7e9a480e..efb582b63640 100644 > --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c > +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c > @@ -7349,6 +7349,7 @@ static int mvpp2_get_sram(struct platform_device *pdev, > struct mvpp2 *priv) > { > struct resource *res; > + void __iomem *base; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 2); > if (!res) { > @@ -7359,9 +7360,11 @@ static int mvpp2_get_sram(struct platform_device *pdev, > return 0; > } > > - priv->cm3_base = devm_ioremap_resource(&pdev->dev, res); > + base = devm_ioremap_resource(&pdev->dev, res); > + if (!IS_ERR(base)) > + priv->cm3_base = base; > > - return PTR_ERR_OR_ZERO(priv->cm3_base); > + return PTR_ERR_OR_ZERO(base);
Use the idiomatic error handling, keep success path un-indented:
ptr = function(); if (IS_ERR(ptr)) return PTR_ERR(ptr);
priv->bla = ptr; return 0;
| |