Loading net/ipv4/fib_semantics.c +9 −1 Original line number Diff line number Diff line Loading @@ -142,6 +142,14 @@ const struct fib_prop fib_props[RTN_MAX + 1] = { }; /* Release a nexthop info record */ static void free_fib_info_rcu(struct rcu_head *head) { struct fib_info *fi = container_of(head, struct fib_info, rcu); if (fi->fib_metrics != (u32 *) dst_default_metrics) kfree(fi->fib_metrics); kfree(fi); } void free_fib_info(struct fib_info *fi) { Loading @@ -156,7 +164,7 @@ void free_fib_info(struct fib_info *fi) } endfor_nexthops(fi); fib_info_cnt--; release_net(fi->fib_net); kfree_rcu(fi, rcu); call_rcu(&fi->rcu, free_fib_info_rcu); } void fib_release_info(struct fib_info *fi) Loading Loading
net/ipv4/fib_semantics.c +9 −1 Original line number Diff line number Diff line Loading @@ -142,6 +142,14 @@ const struct fib_prop fib_props[RTN_MAX + 1] = { }; /* Release a nexthop info record */ static void free_fib_info_rcu(struct rcu_head *head) { struct fib_info *fi = container_of(head, struct fib_info, rcu); if (fi->fib_metrics != (u32 *) dst_default_metrics) kfree(fi->fib_metrics); kfree(fi); } void free_fib_info(struct fib_info *fi) { Loading @@ -156,7 +164,7 @@ void free_fib_info(struct fib_info *fi) } endfor_nexthops(fi); fib_info_cnt--; release_net(fi->fib_net); kfree_rcu(fi, rcu); call_rcu(&fi->rcu, free_fib_info_rcu); } void fib_release_info(struct fib_info *fi) Loading