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@xxxxxxxxxxxxxxx > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx> This should have 'net' in the subject line, to indicate which tree its for. Otherwise: Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Andrew