[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8d51f09b-e6d2-4ee1-9e7d-b545d561798a@lunn.ch>
Date: Sun, 4 Feb 2024 16:15:02 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Christian Marangi <ansuelsmth@...il.com>
Cc: Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Heiner Kallweit <hkallweit1@...il.com>,
Daniel Golle <daniel@...rotopia.org>,
Li Zetao <lizetao1@...wei.com>, linux-leds@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH] leds: trigger: netdev: Fix kernel panic on interface
rename trig notify
On Sun, Feb 04, 2024 at 12:54:01AM +0100, Christian Marangi wrote:
> Commit d5e01266e7f5 ("leds: trigger: netdev: add additional specific link
> speed mode") in the various changes, reworked the way to set the LINKUP
> mode in commit cee4bd16c319 ("leds: trigger: netdev: Recheck
> NETDEV_LED_MODE_LINKUP on dev rename") and moved it to a generic function.
>
> This changed the logic where, in the previous implementation the dev
> from the trigger event was used to check if the carrier was ok, but in
> the new implementation with the generic function, the dev in
> trigger_data is used instead.
>
> This is problematic and cause a possible kernel panic due to the fact
> that the dev in the trigger_data still reference the old one as the
> new one (passed from the trigger event) still has to be hold and saved
> in the trigger_data struct (done in the NETDEV_REGISTER case).
>
> On calling of get_device_state(), an invalid net_dev is used and this
> cause a kernel panic.
>
> To handle this correctly, move the call to get_device_state() after the
> new net_dev is correctly set in trigger_data (in the NETDEV_REGISTER
> case) and correctly parse the new dev.
>
> Fixes: d5e01266e7f5 ("leds: trigger: netdev: add additional specific link speed mode")
> Cc: stable@...r.kernel.org
> Signed-off-by: Christian Marangi <ansuelsmth@...il.com>
This should have 'net' in the subject line, to indicate which tree its
for.
Otherwise:
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists