lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <ZCvvE8l4dnMOEGQ2@corigine.com> Date: Tue, 4 Apr 2023 11:34:11 +0200 From: Simon Horman <simon.horman@...igine.com> To: Shenwei Wang <shenwei.wang@....com> Cc: "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix Kernel Team <kernel@...gutronix.de>, Giuseppe Cavallaro <peppe.cavallaro@...com>, Alexandre Torgue <alexandre.torgue@...s.st.com>, Jose Abreu <joabreu@...opsys.com>, Fabio Estevam <festevam@...il.com>, dl-linux-imx <linux-imx@....com>, Maxime Coquelin <mcoquelin.stm32@...il.com>, Wong Vee Khee <veekhee@...le.com>, Kurt Kanzenbach <kurt@...utronix.de>, Mohammad Athari Bin Ismail <mohammad.athari.ismail@...el.com>, Andrey Konovalov <andrey.konovalov@...aro.org>, Jochen Henneberg <jh@...neberg-systemdesign.com>, Tan Tee Min <tee.min.tan@...ux.intel.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>, "linux-stm32@...md-mailman.stormreply.com" <linux-stm32@...md-mailman.stormreply.com>, "imx@...ts.linux.dev" <imx@...ts.linux.dev> Subject: Re: [EXT] Re: [PATCH v5 1/2] net: stmmac: add support for platform specific reset On Mon, Apr 03, 2023 at 10:16:46PM +0000, Shenwei Wang wrote: > > > > -----Original Message----- > > From: Simon Horman <simon.horman@...igine.com> > > Sent: Monday, April 3, 2023 2:50 PM > > To: Shenwei Wang <shenwei.wang@....com> > > Cc: David S. Miller <davem@...emloft.net>; Eric Dumazet > > <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo Abeni > > <pabeni@...hat.com>; Shawn Guo <shawnguo@...nel.org>; Sascha Hauer > > <s.hauer@...gutronix.de>; Pengutronix Kernel Team <kernel@...gutronix.de>; > > Giuseppe Cavallaro <peppe.cavallaro@...com>; Alexandre Torgue > > <alexandre.torgue@...s.st.com>; Jose Abreu <joabreu@...opsys.com>; Fabio > > Estevam <festevam@...il.com>; dl-linux-imx <linux-imx@....com>; Maxime > > Coquelin <mcoquelin.stm32@...il.com>; Wong Vee Khee > > <veekhee@...le.com>; Kurt Kanzenbach <kurt@...utronix.de>; Mohammad > > Athari Bin Ismail <mohammad.athari.ismail@...el.com>; Andrey Konovalov > > <andrey.konovalov@...aro.org>; Jochen Henneberg <jh@...neberg- > > systemdesign.com>; Tan Tee Min <tee.min.tan@...ux.intel.com>; > > netdev@...r.kernel.org; linux-arm-kernel@...ts.infradead.org; linux-stm32@st- > > md-mailman.stormreply.com; imx@...ts.linux.dev > > Subject: [EXT] Re: [PATCH v5 1/2] net: stmmac: add support for platform specific > > reset > > > > Caution: EXT Email > > > > On Mon, Apr 03, 2023 at 10:24:07AM -0500, Shenwei Wang wrote: > > > This patch adds support for platform-specific reset logic in the > > > stmmac driver. Some SoCs require a different reset mechanism than the > > > standard dwmac IP reset. To support these platforms, a new function > > > pointer 'fix_soc_reset' is added to the plat_stmmacenet_data structure. > > > The stmmac_reset in hwif.h is modified to call the 'fix_soc_reset' > > > function if it exists. This enables the driver to use the > > > platform-specific reset logic when necessary. > > > > > > Signed-off-by: Shenwei Wang <shenwei.wang@....com> > > > --- > > > v5: > > > - add the missing __iomem tag in the stmmac_reset definition. > > > > > > drivers/net/ethernet/stmicro/stmmac/hwif.c | 10 ++++++++++ > > > drivers/net/ethernet/stmicro/stmmac/hwif.h | 3 +-- > > > include/linux/stmmac.h | 1 + > > > 3 files changed, 12 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/net/ethernet/stmicro/stmmac/hwif.c > > > b/drivers/net/ethernet/stmicro/stmmac/hwif.c > > > index bb7114f970f8..0eefa697ffe8 100644 > > > --- a/drivers/net/ethernet/stmicro/stmmac/hwif.c > > > +++ b/drivers/net/ethernet/stmicro/stmmac/hwif.c > > > @@ -87,6 +87,16 @@ static int stmmac_dwxlgmac_quirks(struct stmmac_priv > > *priv) > > > return 0; > > > } > > > > > > +int stmmac_reset(struct stmmac_priv *priv, void __iomem *ioaddr) { > > > + struct plat_stmmacenet_data *plat = priv ? priv->plat : NULL; > > > > Here the case where priv is NULL is handled. > > > > > + > > > + if (plat && plat->fix_soc_reset) > > > + return plat->fix_soc_reset(plat, ioaddr); > > > + > > > + return stmmac_do_callback(priv, dma, reset, ioaddr); > > > > But this will dereference priv unconditionally. > > > > The original macro implementation assumes that the priv pointer will not be NULL. However, adding > an extra condition check for priv in the stmmac_reset() function can ensure that the code is more > robust and secure. But it seems to me that it is not safe because stmmac_do_callback will dereference priv even if it is NULL. So I think either the NULL case should be handled in a safe way. Or there is no point in checking for it at all.
Powered by blists - more mailing lists