diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-11-05 20:53:47 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-05 22:34:18 -0800 |
commit | 122ec6ffca3967ffaa96a4c7a5dc9cd71866e0bc (patch) | |
tree | 5e04166eaa0494a786fa5bb2c9c3628df03289ff /net/netlabel/netlabel_unlabeled.c | |
parent | 31ef30c760f7ddb133fa538df1dfbec1f42294d7 (diff) | |
download | op-kernel-dev-122ec6ffca3967ffaa96a4c7a5dc9cd71866e0bc.zip op-kernel-dev-122ec6ffca3967ffaa96a4c7a5dc9cd71866e0bc.tar.gz |
netlabel: remove dev_put() calls
Use dev_get_by_name_rcu() to avoid dev_put() calls,
in sections already inside a rcu_read_lock()
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlabel/netlabel_unlabeled.c')
-rw-r--r-- | net/netlabel/netlabel_unlabeled.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c index fb357f0..3dfe2ba 100644 --- a/net/netlabel/netlabel_unlabeled.c +++ b/net/netlabel/netlabel_unlabeled.c @@ -472,13 +472,12 @@ int netlbl_unlhsh_add(struct net *net, rcu_read_lock(); if (dev_name != NULL) { - dev = dev_get_by_name(net, dev_name); + dev = dev_get_by_name_rcu(net, dev_name); if (dev == NULL) { ret_val = -ENODEV; goto unlhsh_add_return; } ifindex = dev->ifindex; - dev_put(dev); iface = netlbl_unlhsh_search_iface(ifindex); } else { ifindex = 0; @@ -737,13 +736,12 @@ int netlbl_unlhsh_remove(struct net *net, rcu_read_lock(); if (dev_name != NULL) { - dev = dev_get_by_name(net, dev_name); + dev = dev_get_by_name_rcu(net, dev_name); if (dev == NULL) { ret_val = -ENODEV; goto unlhsh_remove_return; } iface = netlbl_unlhsh_search_iface(dev->ifindex); - dev_put(dev); } else iface = rcu_dereference(netlbl_unlhsh_def); if (iface == NULL) { |