X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?p=kvmfornfv.git;a=blobdiff_plain;f=kernel%2Fnet%2Fbridge%2Fbr_ioctl.c;h=60a3dbfca8a1f45179dd691dfd8bed7eceee9e0e;hp=263b4de4de57ccf4beddbfc48e62967236450b9b;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hpb=c189ccac5702322ed843fe17057035b7222a59b6 diff --git a/kernel/net/bridge/br_ioctl.c b/kernel/net/bridge/br_ioctl.c index 263b4de4d..60a3dbfca 100644 --- a/kernel/net/bridge/br_ioctl.c +++ b/kernel/net/bridge/br_ioctl.c @@ -21,18 +21,19 @@ #include #include "br_private.h" -/* called with RTNL */ static int get_bridge_ifindices(struct net *net, int *indices, int num) { struct net_device *dev; int i = 0; - for_each_netdev(net, dev) { + rcu_read_lock(); + for_each_netdev_rcu(net, dev) { if (i >= num) break; if (dev->priv_flags & IFF_EBRIDGE) indices[i++] = dev->ifindex; } + rcu_read_unlock(); return i; }