Revert "ipv6: make ip6_rt_gc_expire an atomic_t"

This reverts commit 49516e6ed9 which is
commit 9cb7c013420f98fa6fd12fc6a5dc055170c108db upstream.

It breaks the Android KABI and is not needed in Android devices, so just
revert it.

Bug: 161946584
Fixes: 49516e6ed9 ("ipv6: make ip6_rt_gc_expire an atomic_t")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ibab89760234525cc5622cd60e61599784fd0f80a
This commit is contained in:
Greg Kroah-Hartman
2022-05-12 11:18:34 +02:00
parent 141fbd343b
commit 681997eca1
2 changed files with 7 additions and 8 deletions

View File

@@ -79,7 +79,7 @@ struct netns_ipv6 {
struct dst_ops ip6_dst_ops;
rwlock_t fib6_walker_lock;
spinlock_t fib6_gc_lock;
atomic_t ip6_rt_gc_expire;
unsigned int ip6_rt_gc_expire;
unsigned long ip6_rt_last_gc;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
unsigned int fib6_rules_require_fldissect;

View File

@@ -3192,7 +3192,6 @@ static int ip6_dst_gc(struct dst_ops *ops)
int rt_elasticity = net->ipv6.sysctl.ip6_rt_gc_elasticity;
int rt_gc_timeout = net->ipv6.sysctl.ip6_rt_gc_timeout;
unsigned long rt_last_gc = net->ipv6.ip6_rt_last_gc;
unsigned int val;
int entries;
entries = dst_entries_get_fast(ops);
@@ -3203,13 +3202,13 @@ static int ip6_dst_gc(struct dst_ops *ops)
entries <= rt_max_size)
goto out;
fib6_run_gc(atomic_inc_return(&net->ipv6.ip6_rt_gc_expire), net, true);
net->ipv6.ip6_rt_gc_expire++;
fib6_run_gc(net->ipv6.ip6_rt_gc_expire, net, true);
entries = dst_entries_get_slow(ops);
if (entries < ops->gc_thresh)
atomic_set(&net->ipv6.ip6_rt_gc_expire, rt_gc_timeout >> 1);
net->ipv6.ip6_rt_gc_expire = rt_gc_timeout>>1;
out:
val = atomic_read(&net->ipv6.ip6_rt_gc_expire);
atomic_set(&net->ipv6.ip6_rt_gc_expire, val - (val >> rt_elasticity));
net->ipv6.ip6_rt_gc_expire -= net->ipv6.ip6_rt_gc_expire>>rt_elasticity;
return entries > rt_max_size;
}
@@ -6322,7 +6321,7 @@ static int __net_init ip6_route_net_init(struct net *net)
net->ipv6.sysctl.ip6_rt_min_advmss = IPV6_MIN_MTU - 20 - 40;
net->ipv6.sysctl.skip_notify_on_dev_down = 0;
atomic_set(&net->ipv6.ip6_rt_gc_expire, 30*HZ);
net->ipv6.ip6_rt_gc_expire = 30*HZ;
ret = 0;
out: