From: Wei Yongjun Date: Fri, 16 Aug 2013 23:32:09 +0000 (+0800) Subject: vxlan: using kfree_rcu() to simplify the code X-Git-Tag: accepted/tizen/common/20141203.182822~1569^2~261 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dcdc7a5929842ca0df91eb50de9edebbb5e4e7d1;p=platform%2Fkernel%2Flinux-arm64.git vxlan: using kfree_rcu() to simplify the code The callback function of call_rcu() just calls a kfree(), so we can use kfree_rcu() instead of call_rcu() + callback function. Signed-off-by: Wei Yongjun Acked-by: Stephen Hemminger Signed-off-by: David S. Miller --- diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index b9401b5..3b21aca 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -542,12 +542,6 @@ static int vxlan_fdb_create(struct vxlan_dev *vxlan, return 0; } -static void vxlan_fdb_free_rdst(struct rcu_head *head) -{ - struct vxlan_rdst *rd = container_of(head, struct vxlan_rdst, rcu); - kfree(rd); -} - static void vxlan_fdb_free(struct rcu_head *head) { struct vxlan_fdb *f = container_of(head, struct vxlan_fdb, rcu); @@ -687,7 +681,7 @@ static int vxlan_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], */ if (rd && !list_is_singular(&f->remotes)) { list_del_rcu(&rd->list); - call_rcu(&rd->rcu, vxlan_fdb_free_rdst); + kfree_rcu(rd, rcu); goto out; }