driver: macvlan: Remove the rcu member of macvlan_port
authorGao Feng <fgao@ikuai8.com>
Wed, 7 Dec 2016 04:23:18 +0000 (12:23 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Dec 2016 18:22:07 +0000 (13:22 -0500)
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>
drivers/net/macvlan.c

index 3c0a1714977b495697f2f9f6fda9d8bc3318998d..20b3fdf282c50063e56577dcb67e85fa8b59fb91 100644 (file)
@@ -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[])