[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f6e1eaf5-4d49-4394-a2e7-d739d7991d2f@lunn.ch>
Date: Fri, 4 Oct 2024 00:45:10 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Christian Marangi <ansuelsmth@...il.com>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Florian Fainelli <f.fainelli@...il.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, Daniel Golle <daniel@...rotopia.org>,
stable@...r.kernel.org
Subject: Re: [net PATCH 1/2] net: phy: Remove LED entry from LEDs list on
unregister
On Fri, Oct 04, 2024 at 12:10:04AM +0200, Christian Marangi wrote:
> Commit c938ab4da0eb ("net: phy: Manual remove LEDs to ensure correct
> ordering") correctly fixed a problem with using devm_ but missed
> removing the LED entry from the LEDs list.
>
> This cause kernel panic on specific scenario where the port for the PHY
> is torn down and up and the kmod for the PHY is removed.
>
> On setting the port down the first time, the assosiacted LEDs are
> correctly unregistered. The associated kmod for the PHY is now removed.
> The kmod is now added again and the port is now put up, the associated LED
> are registered again.
> On putting the port down again for the second time after these step, the
> LED list now have 4 elements. With the first 2 already unregistered
> previously and the 2 new one registered again.
>
> This cause a kernel panic as the first 2 element should have been
> removed.
>
> Fix this by correctly removing the element when LED is unregistered.
>
> Reported-by: Daniel Golle <daniel@...rotopia.org>
> Tested-by: Daniel Golle <daniel@...rotopia.org>
> Cc: stable@...r.kernel.org
> Fixes: c938ab4da0eb ("net: phy: Manual remove LEDs to ensure correct ordering")
> Signed-off-by: Christian Marangi <ansuelsmth@...il.com>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists