diff mbox series

[v2,led] leds: trigger: netdev: uninitialized variable in netdev_trig_activate()

Message ID 6fbb3819-a348-4cc3-a1d0-951ca1c380d6@moroto.mountain (mailing list archive)
State Superseded
Headers show
Series [v2,led] leds: trigger: netdev: uninitialized variable in netdev_trig_activate() | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Dan Carpenter June 13, 2023, 6:46 a.m. UTC
The qca8k_cled_hw_control_get() function which implements ->hw_control_get
sets the appropriate bits but does not clear them.  This leads to an
uninitialized variable bug.  Fix this by setting mode to zero at the
start.

Fixes: e0256648c831 ("net: dsa: qca8k: implement hw_control ops")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
v2: In the original patch I fixed qca8k_cled_hw_control_get() instead
so that patch went to netdev instead of to the led subsystem.
https://lore.kernel.org/all/5dff3719-f827-45b6-a0d3-a00efed1099b@moroto.mountain/
Fixing it here is a more reliable way to do it.

 drivers/leds/trigger/ledtrig-netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrew Lunn June 14, 2023, 12:51 a.m. UTC | #1
On Tue, Jun 13, 2023 at 09:46:53AM +0300, Dan Carpenter wrote:
> The qca8k_cled_hw_control_get() function which implements ->hw_control_get
> sets the appropriate bits but does not clear them.  This leads to an
> uninitialized variable bug.  Fix this by setting mode to zero at the
> start.
> 
> Fixes: e0256648c831 ("net: dsa: qca8k: implement hw_control ops")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
> v2: In the original patch I fixed qca8k_cled_hw_control_get() instead
> so that patch went to netdev instead of to the led subsystem.

I think his actually needs to be merged via netdev.  e0256648c831
("net: dsa: qca8k: implement hw_control ops") is in net-next/main.  I
don't see it in leds/master, leds/for-leds-next. Also, git blame shows
mode was added by 0316cc5629d1 ("leds: trigger: netdev: init mode if
hw control already active") which also appears only to be in
net-next/main.

A lot of these LED patches were merged via netdev because they are
cross subsystem.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
Dan Carpenter June 14, 2023, 6:45 a.m. UTC | #2
On Wed, Jun 14, 2023 at 02:51:59AM +0200, Andrew Lunn wrote:
> I think his actually needs to be merged via netdev.  e0256648c831
> ("net: dsa: qca8k: implement hw_control ops") is in net-next/main.  I
> don't see it in leds/master, leds/for-leds-next. Also, git blame shows
> mode was added by 0316cc5629d1 ("leds: trigger: netdev: init mode if
> hw control already active") which also appears only to be in
> net-next/main.
> 
> A lot of these LED patches were merged via netdev because they are
> cross subsystem.

Ok.  Thanks, Andrew.

In that case, let me resend.  I just used get_maintainer.pl and it
didn't add the necessary CC list.  Plus the netdev scripts won't run if
you don't have the correct subject...

regards,
dan carpenter
diff mbox series

Patch

diff --git a/drivers/leds/trigger/ledtrig-netdev.c b/drivers/leds/trigger/ledtrig-netdev.c
index b0a6f2749552..2311dae7f070 100644
--- a/drivers/leds/trigger/ledtrig-netdev.c
+++ b/drivers/leds/trigger/ledtrig-netdev.c
@@ -445,7 +445,7 @@  static void netdev_trig_work(struct work_struct *work)
 static int netdev_trig_activate(struct led_classdev *led_cdev)
 {
 	struct led_netdev_data *trigger_data;
-	unsigned long mode;
+	unsigned long mode = 0;
 	struct device *dev;
 	int rc;