net: release reference to inet6_dev pointer
authorPatrick Rohr <prohr@google.com>
Fri, 18 Aug 2023 18:22:49 +0000 (11:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 20 Aug 2023 14:23:57 +0000 (15:23 +0100)
addrconf_prefix_rcv returned early without releasing the inet6_dev
pointer when the PIO lifetime is less than accept_ra_min_lft.

Fixes: 5027d54a9c30 ("net: change accept_ra_min_rtr_lft to affect all RA lifetimes")
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: David Ahern <dsahern@kernel.org>
Cc: Simon Horman <horms@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: Patrick Rohr <prohr@google.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 5184bd0..47d1dd8 100644 (file)
@@ -2742,7 +2742,7 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao)
        }
 
        if (valid_lft != 0 && valid_lft < in6_dev->cnf.accept_ra_min_lft)
-               return;
+               goto put;
 
        /*
         *      Two things going on here: