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]
Message-ID: <CAKR-sGe3xHkN-1+aLn0ixnskctPK4GTzfXu8O_dkFhHyY1nTeg@mail.gmail.com>
Date:   Fri, 17 Mar 2023 13:06:43 +0100
From:   Álvaro Fernández Rojas <noltari@...il.com>
To:     Vladimir Oltean <olteanv@...il.com>
Cc:     davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
        pabeni@...hat.com, robh+dt@...nel.org,
        krzysztof.kozlowski+dt@...aro.org, f.fainelli@...il.com,
        jonas.gorski@...il.com, andrew@...n.ch, hkallweit1@...il.com,
        linux@...linux.org.uk, netdev@...r.kernel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] net: dsa: b53: mmap: register MDIO Mux bus controller

Hi Vladimir,

El vie, 17 mar 2023 a las 12:51, Vladimir Oltean (<olteanv@...il.com>) escribió:
>
> On Fri, Mar 17, 2023 at 12:34:26PM +0100, Álvaro Fernández Rojas wrote:
> > b53 MMAP devices have a MDIO Mux bus controller that must be registered after
> > properly initializing the switch. If the MDIO Mux controller is registered
> > from a separate driver and the device has an external switch present, it will
> > cause a race condition which will hang the device.
>
> Could you describe the race in more details? Why does it hang the device?

I didn't perform a full analysis on the problem, but what I think is
going on is that both b53 switches are probed and both of them fail
due to the ethernet device not being probed yet.
At some point, the internal switch is reset and not fully configured
and the external switch is probed again, but since the internal switch
isn't ready, the MDIO accesses for the external switch fail due to the
internal switch not being ready and this hangs the device because the
access to the external switch is done through the same registers from
the internal switch.

But maybe Florian or Jonas can give some more details about the issue...

--
Álvaro

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ