kernel: ledtrig-netdev: we only care about new devices init namespace
The eth0 in the Docker container affects the led status, but I don't think anyone cares about the eth0 status of the Docker container, and currently ledtrig-netdev does not support net namespace. So filter out all non-init namespace new device events. Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
This commit is contained in:
parent
e3263dd951
commit
21e285bb5b
@ -0,0 +1,38 @@
|
||||
From 62c679f6b4ca68841a446339ea80ae0e431947e6 Mon Sep 17 00:00:00 2001
|
||||
From: Liangbin Lian <jjm2473@gmail.com>
|
||||
Date: Tue, 26 Dec 2023 14:08:01 +0800
|
||||
Subject: [PATCH] ledtrig-netdev: we only care about new device in init
|
||||
namespace
|
||||
|
||||
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
|
||||
---
|
||||
drivers/leds/trigger/ledtrig-netdev.c | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/drivers/leds/trigger/ledtrig-netdev.c
|
||||
+++ b/drivers/leds/trigger/ledtrig-netdev.c
|
||||
@@ -476,8 +476,9 @@ static int netdev_trig_notify(struct not
|
||||
return NOTIFY_DONE;
|
||||
|
||||
if (!(dev == trigger_data->net_dev ||
|
||||
- (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) ||
|
||||
- (evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name))))
|
||||
+ ((evt == NETDEV_CHANGENAME || evt == NETDEV_REGISTER)
|
||||
+ && net_eq(dev_net(dev), &init_net)
|
||||
+ && !strcmp(dev->name, trigger_data->device_name))))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
cancel_delayed_work_sync(&trigger_data->work);
|
||||
@@ -497,8 +498,10 @@ static int netdev_trig_notify(struct not
|
||||
get_device_state(trigger_data);
|
||||
break;
|
||||
case NETDEV_UNREGISTER:
|
||||
- dev_put(trigger_data->net_dev);
|
||||
- trigger_data->net_dev = NULL;
|
||||
+ if (dev->reg_state >= NETREG_UNREGISTERING) {
|
||||
+ dev_put(trigger_data->net_dev);
|
||||
+ trigger_data->net_dev = NULL;
|
||||
+ }
|
||||
break;
|
||||
case NETDEV_UP:
|
||||
case NETDEV_CHANGE:
|
||||
Loading…
Reference in New Issue
Block a user