aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/macvlan.c
diff options
context:
space:
mode:
authorGao Feng <fgao@ikuai8.com>2016-12-07 12:23:18 +0800
committerDavid S. Miller <davem@davemloft.net>2016-12-07 13:22:07 -0500
commita1f5315ce4e1700e65255c617561aa7d8f09a729 (patch)
tree304b54f3fc2e758343c65c96f56b1c5642c166f1 /drivers/net/macvlan.c
parentdriver: ipvlan: Free ipvl_port directly with kfree instead of kfree_rcu (diff)
downloadlinux-dev-a1f5315ce4e1700e65255c617561aa7d8f09a729.tar.xz
linux-dev-a1f5315ce4e1700e65255c617561aa7d8f09a729.zip
driver: macvlan: Remove the rcu member of macvlan_port
When free macvlan_port in macvlan_port_destroy, it is safe to free directly because netdev_rx_handler_unregister could enforce one grace period. So it is unnecessary to use kfree_rcu for macvlan_port. Signed-off-by: Gao Feng <fgao@ikuai8.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r--drivers/net/macvlan.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 3c0a1714977b..20b3fdf282c5 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -43,7 +43,6 @@ struct macvlan_port {
struct net_device *dev;
struct hlist_head vlan_hash[MACVLAN_HASH_SIZE];
struct list_head vlans;
- struct rcu_head rcu;
struct sk_buff_head bc_queue;
struct work_struct bc_work;
bool passthru;
@@ -1151,7 +1150,7 @@ static void macvlan_port_destroy(struct net_device *dev)
cancel_work_sync(&port->bc_work);
__skb_queue_purge(&port->bc_queue);
- kfree_rcu(port, rcu);
+ kfree(port);
}
static int macvlan_validate(struct nlattr *tb[], struct nlattr *data[])