From: David Ahern <dsah...@gmail.com>

Remove temp variables in favor of ifa6_config struct.

Signed-off-by: David Ahern <dsah...@gmail.com>
---
 net/ipv6/addrconf.c | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index eff925b2064e..4988f2265882 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1258,12 +1258,10 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr 
*ifp,
 {
        struct inet6_dev *idev = ifp->idev;
        struct in6_addr addr, *tmpaddr;
-       unsigned long tmp_prefered_lft, tmp_valid_lft, tmp_tstamp, age;
+       unsigned long tmp_tstamp, age;
        unsigned long regen_advance;
        struct ifa6_config cfg;
-       int tmp_plen;
        int ret = 0;
-       u32 addr_flags;
        unsigned long now = jiffies;
        long max_desync_factor;
        s32 cnf_temp_preferred_lft;
@@ -1325,13 +1323,12 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr 
*ifp,
                }
        }
 
-       tmp_valid_lft = min_t(__u32,
-                             ifp->valid_lft,
+       cfg.valid_lft = min_t(__u32, ifp->valid_lft,
                              idev->cnf.temp_valid_lft + age);
-       tmp_prefered_lft = cnf_temp_preferred_lft + age -
-                           idev->desync_factor;
-       tmp_prefered_lft = min_t(__u32, ifp->prefered_lft, tmp_prefered_lft);
-       tmp_plen = ifp->prefix_len;
+       cfg.preferred_lft = cnf_temp_preferred_lft + age - idev->desync_factor;
+       cfg.preferred_lft = min_t(__u32, ifp->prefered_lft, cfg.preferred_lft);
+
+       cfg.plen = ifp->prefix_len;
        tmp_tstamp = ifp->tstamp;
        spin_unlock_bh(&ifp->lock);
 
@@ -1345,24 +1342,19 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr 
*ifp,
         * temporary addresses being generated.
         */
        age = (now - tmp_tstamp + ADDRCONF_TIMER_FUZZ_MINUS) / HZ;
-       if (tmp_prefered_lft <= regen_advance + age) {
+       if (cfg.preferred_lft <= regen_advance + age) {
                in6_ifa_put(ifp);
                in6_dev_put(idev);
                ret = -1;
                goto out;
        }
 
-       addr_flags = IFA_F_TEMPORARY;
+       cfg.ifa_flags = IFA_F_TEMPORARY;
        /* set in addrconf_prefix_rcv() */
        if (ifp->flags & IFA_F_OPTIMISTIC)
-               addr_flags |= IFA_F_OPTIMISTIC;
+               cfg.ifa_flags |= IFA_F_OPTIMISTIC;
 
        cfg.pfx = &addr;
-       cfg.plen = tmp_plen;
-       cfg.peer_pfx = NULL;
-       cfg.ifa_flags = addr_flags;
-       cfg.preferred_lft = tmp_prefered_lft;
-       cfg.valid_lft = tmp_valid_lft;
        cfg.scope = ipv6_addr_scope(cfg.pfx);
 
        ift = ipv6_add_addr(idev, &cfg, block, NULL);
-- 
2.11.0

Reply via email to