]> www.infradead.org Git - users/willy/pagecache.git/commit
net/ipv6: delete temporary address if mngtmpaddr is removed or unmanaged
authorHangbin Liu <liuhangbin@gmail.com>
Wed, 20 Nov 2024 09:51:07 +0000 (09:51 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 26 Nov 2024 09:29:12 +0000 (10:29 +0100)
commit00b5b7aab9e422d00d5a9d03d7e0760a76b5d57f
tree718437086e72dc6a76d78b5f376842555d8aff0f
parent59c5e1411a0a13ebb930f4ebba495cc4eb14f8f2
net/ipv6: delete temporary address if mngtmpaddr is removed or unmanaged

RFC8981 section 3.4 says that existing temporary addresses must have their
lifetimes adjusted so that no temporary addresses should ever remain "valid"
or "preferred" longer than the incoming SLAAC Prefix Information. This would
strongly imply in Linux's case that if the "mngtmpaddr" address is deleted or
un-flagged as such, its corresponding temporary addresses must be cleared out
right away.

But now the temporary address is renewed even after â€˜mngtmpaddr’ is removed
or becomes unmanaged as manage_tempaddrs() set temporary addresses
prefered/valid time to 0, and later in addrconf_verify_rtnl() all checkings
failed to remove the addresses. Fix this by deleting the temporary address
directly for these situations.

Fixes: 778964f2fdf0 ("ipv6/addrconf: fix timing bug in tempaddr regen")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/ipv6/addrconf.c