diff options
| author | Christian Marangi <ansuelsmth@gmail.com> | 2024-02-11 16:37:18 +0100 |
|---|---|---|
| committer | Christian Marangi <ansuelsmth@gmail.com> | 2024-02-11 16:37:18 +0100 |
| commit | 2253645411d98621466e4ba5e92595aeff3b413d (patch) | |
| tree | 9d949a0712219a50c4eaf1c470694a3531d1016a /target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch | |
| parent | cb42c2e307aca97fef42e8f76ca89dda4bd3f047 (diff) | |
| download | upstream-2253645411d98621466e4ba5e92595aeff3b413d.tar.gz upstream-2253645411d98621466e4ba5e92595aeff3b413d.tar.bz2 upstream-2253645411d98621466e4ba5e92595aeff3b413d.zip | |
generic: 6.1: move LEDs netdev trigger patch from pending to backport
Move LEDs netdev trigger patch from pending to backport as it has been
merged upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to 'target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch')
| -rw-r--r-- | target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch b/target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch deleted file mode 100644 index 8006bdb2b45..00000000000 --- a/target/linux/generic/pending-6.1/830-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 9e2a0a8bd7a392b5af6bf2cfa0b07d96d1fb6719 Mon Sep 17 00:00:00 2001 -From: Christian Marangi <ansuelsmth@gmail.com> -Date: Sun, 4 Feb 2024 00:32:04 +0100 -Subject: [PATCH] leds: trigger: netdev: Fix kernel panic on interface rename - trig notify - -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@vger.kernel.org -Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> ---- - drivers/leds/trigger/ledtrig-netdev.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/leds/trigger/ledtrig-netdev.c -+++ b/drivers/leds/trigger/ledtrig-netdev.c -@@ -489,12 +489,12 @@ static int netdev_trig_notify(struct not - trigger_data->duplex = DUPLEX_UNKNOWN; - switch (evt) { - case NETDEV_CHANGENAME: -- get_device_state(trigger_data); -- fallthrough; - case NETDEV_REGISTER: - dev_put(trigger_data->net_dev); - dev_hold(dev); - trigger_data->net_dev = dev; -+ if (evt == NETDEV_CHANGENAME) -+ get_device_state(trigger_data); - break; - case NETDEV_UNREGISTER: - dev_put(trigger_data->net_dev); |
