return a->port == b->port;
 }
 
-static void local_address(const struct sock_common *skc,
-                         struct mptcp_addr_info *addr)
+void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_info *addr)
 {
        addr->family = skc->skc_family;
        addr->port = htons(skc->skc_num);
        list_for_each_entry(subflow, list, node) {
                skc = (struct sock_common *)mptcp_subflow_tcp_sock(subflow);
 
-               local_address(skc, &cur);
+               mptcp_local_address(skc, &cur);
                if (mptcp_addresses_equal(&cur, saddr, saddr->port))
                        return true;
        }
        struct mptcp_addr_info saddr;
        bool ret = false;
 
-       local_address((struct sock_common *)sk, &saddr);
+       mptcp_local_address((struct sock_common *)sk, &saddr);
 
        spin_lock_bh(&msk->pm.lock);
        list_for_each_entry(entry, &msk->pm.anno_list, list) {
                struct mptcp_addr_info mpc_addr;
                bool backup = false;
 
-               local_address((struct sock_common *)msk->first, &mpc_addr);
+               mptcp_local_address((struct sock_common *)msk->first, &mpc_addr);
                rcu_read_lock();
                entry = __lookup_addr(pernet, &mpc_addr, false);
                if (entry) {
                struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
                struct mptcp_addr_info local, remote;
 
-               local_address((struct sock_common *)ssk, &local);
+               mptcp_local_address((struct sock_common *)ssk, &local);
                if (!mptcp_addresses_equal(&local, addr, addr->port))
                        continue;
 
        /* The 0 ID mapping is defined by the first subflow, copied into the msk
         * addr
         */
-       local_address((struct sock_common *)msk, &msk_local);
-       local_address((struct sock_common *)skc, &skc_local);
+       mptcp_local_address((struct sock_common *)msk, &msk_local);
+       mptcp_local_address((struct sock_common *)skc, &skc_local);
        if (mptcp_addresses_equal(&msk_local, &skc_local, false))
                return 0;
 
                if (list_empty(&msk->conn_list) || mptcp_pm_is_userspace(msk))
                        goto next;
 
-               local_address((struct sock_common *)msk, &msk_local);
+               mptcp_local_address((struct sock_common *)msk, &msk_local);
                if (!mptcp_addresses_equal(&msk_local, addr, addr->port))
                        goto next;