net/ipv6: Revert remove expired routes with a separated list of routes
authorDavid Ahern <dsahern@kernel.org>
Tue, 19 Dec 2023 03:02:43 +0000 (20:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jan 2024 12:42:33 +0000 (12:42 +0000)
commitb577b9aa1340ee7f36441b0740691550abaad5f2
tree8b80fbe5c647421a6b49c173cf7dd038b6e703b8
parent5c7a24ab04e20a2229997ba45bf9ea275024247b
net/ipv6: Revert remove expired routes with a separated list of routes

[ Upstream commit dade3f6a1e4e35a5ae916d5e78b3229ec34c78ec ]

This reverts commit 3dec89b14d37ee635e772636dad3f09f78f1ab87.

The commit has some race conditions given how expires is managed on a
fib6_info in relation to gc start, adding the entry to the gc list and
setting the timer value leading to UAF. Revert the commit and try again
in a later release.

Fixes: 3dec89b14d37 ("net/ipv6: Remove expired routes with a separated list of routes")
Cc: Kui-Feng Lee <thinker.li@gmail.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20231219030243.25687-1-dsahern@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/ip6_fib.h
net/ipv6/ip6_fib.c
net/ipv6/route.c