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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 23 Nov 2022 21:29:15 +0530
From:   Vignesh Raghavendra <vigneshr@...com>
To:     Nicolas Frayer <nfrayer@...libre.com>, <nm@...com>,
        <ssantosh@...nel.org>, <linux-kernel@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>, <peter.ujfalusi@...il.com>,
        <vkoul@...nel.org>, <dmaengine@...r.kernel.org>,
        <grygorii.strashko@...com>, <davem@...emloft.net>,
        <edumazet@...gle.com>, <kuba@...nel.org>, <pabeni@...hat.com>,
        <linux-omap@...r.kernel.org>, <netdev@...r.kernel.org>
CC:     <khilman@...libre.com>, <glaroque@...libre.com>
Subject: Re: [PATCH v4 4/4] net: ethernet: ti: davinci_mdio: Deferring probe
 when soc_device_match() returns NULL

Hi Nicolas,

On 08/11/22 11:41 pm, Nicolas Frayer wrote:
> When the k3 socinfo driver is built as a module, there is a possibility
> that it will probe after the davinci mdio driver. By deferring the mdio
> probe we allow the k3 socinfo to probe and register the
> soc_device_attribute structure needed by the mdio driver.
> 
> Signed-off-by: Nicolas Frayer <nfrayer@...libre.com>
> ---
>  drivers/net/ethernet/ti/davinci_mdio.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
> index 946b9753ccfb..095198b6b7be 100644
> --- a/drivers/net/ethernet/ti/davinci_mdio.c
> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
> @@ -533,6 +533,10 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>  		const struct soc_device_attribute *soc_match_data;
>  
>  		soc_match_data = soc_device_match(k3_mdio_socinfo);
> +
> +		if (!soc_match_data)
> +			return -EPROBE_DEFER;

I dont think this is right way to detect if socinfo driver is probed.
Per documentation of soc_device_match() , function will return NULL if
it does not match any of the entries in k3_mdio_socinfo (ie if we are
running on any platforms other that ones in the list)

Note that this driver is used on TI's 32 bit SoCs too that dont even
have a k3-socinfo driver equivalent. In such case, this code will end up
probe deferring indefinitely.

> +
>  		if (soc_match_data && soc_match_data->data) {
>  			const struct k3_mdio_soc_data *socdata =
>  						soc_match_data->data;

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ