Re: [PATCH] leds: trigger: netdev: Fix kernel panic on interface rename trig notify

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 04 Feb 2024, Andrew Lunn wrote:

> 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.

No, it shouldn't.

Contributors aren't obliged to know anything about merging strategies.

Why does this need to go in via net?

> Otherwise:
> 
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Thanks.  Always very useful.

-- 
Lee Jones [李琼斯]




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux