Commit bfbf81b3 authored by Alex Henrie's avatar Alex Henrie Committed by Jakub Kicinski
Browse files

net: ipv6/addrconf: clamp preferred_lft to the maximum allowed



Without this patch, there is nothing to stop the preferred lifetime of a
temporary address from being greater than its valid lifetime. If that
was the case, the valid lifetime was effectively ignored.

Signed-off-by: default avatarAlex Henrie <alexhenrie24@gmail.com>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20231024212312.299370-2-alexhenrie24@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent d8c4ef76
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1399,6 +1399,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, bool block)
			      idev->cnf.temp_valid_lft + age);
	cfg.preferred_lft = cnf_temp_preferred_lft + age - idev->desync_factor;
	cfg.preferred_lft = min_t(__u32, ifp->prefered_lft, cfg.preferred_lft);
	cfg.preferred_lft = min_t(__u32, cfg.valid_lft, cfg.preferred_lft);

	cfg.plen = ifp->prefix_len;
	tmp_tstamp = ifp->tstamp;