From f0bd3f6558798d6a70aa0d0c0d24fbab95b23f5d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 1 Dec 2021 18:04:54 +0100 Subject: [PATCH] Revert "net: ipv6: add fib6_nh_release_dsts stub" This reverts commit cca61bb1704236411ba907aaeaa6b073bb53861c which is commit 8837cbbf854246f5f4d565f21e6baa945d37aded upstream. It breaks the abi and is not needed for Android systems, so it can be safely reverted. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: I25198224e60cb4de5c9e5186331c78e2e4c9c28c --- include/net/ip6_fib.h | 1 - include/net/ipv6_stubs.h | 1 - net/ipv6/af_inet6.c | 1 - net/ipv6/route.c | 19 ------------------- 4 files changed, 22 deletions(-) diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 05ecaefeb632..bd0f1595bdc7 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -451,7 +451,6 @@ int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack); void fib6_nh_release(struct fib6_nh *fib6_nh); -void fib6_nh_release_dsts(struct fib6_nh *fib6_nh); int call_fib6_entry_notifiers(struct net *net, enum fib_event_type event_type, diff --git a/include/net/ipv6_stubs.h b/include/net/ipv6_stubs.h index af9e127779ad..3e7d2c0e79ca 100644 --- a/include/net/ipv6_stubs.h +++ b/include/net/ipv6_stubs.h @@ -47,7 +47,6 @@ struct ipv6_stub { struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack); void (*fib6_nh_release)(struct fib6_nh *fib6_nh); - void (*fib6_nh_release_dsts)(struct fib6_nh *fib6_nh); void (*fib6_update_sernum)(struct net *net, struct fib6_info *rt); int (*ip6_del_rt)(struct net *net, struct fib6_info *rt); void (*fib6_rt_update)(struct net *net, struct fib6_info *rt, diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index a35759fcd47f..ff76df59f569 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -957,7 +957,6 @@ static const struct ipv6_stub ipv6_stub_impl = { .ip6_mtu_from_fib6 = ip6_mtu_from_fib6, .fib6_nh_init = fib6_nh_init, .fib6_nh_release = fib6_nh_release, - .fib6_nh_release_dsts = fib6_nh_release_dsts, .fib6_update_sernum = fib6_update_sernum_stub, .fib6_rt_update = fib6_rt_update, .ip6_del_rt = ip6_del_rt, diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 9d23eba1499d..ae9f4268429d 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -3585,25 +3585,6 @@ void fib6_nh_release(struct fib6_nh *fib6_nh) fib_nh_common_release(&fib6_nh->nh_common); } -void fib6_nh_release_dsts(struct fib6_nh *fib6_nh) -{ - int cpu; - - if (!fib6_nh->rt6i_pcpu) - return; - - for_each_possible_cpu(cpu) { - struct rt6_info *pcpu_rt, **ppcpu_rt; - - ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu); - pcpu_rt = xchg(ppcpu_rt, NULL); - if (pcpu_rt) { - dst_dev_put(&pcpu_rt->dst); - dst_release(&pcpu_rt->dst); - } - } -} - static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack)