CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Yonglong Li <[email protected]>
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Yonglong Li <[email protected]>

Hi Yonglong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mptcp/export]
[also build test WARNING on linus/master v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Yonglong-Li/mptcp-fix-conflicts-when-using-pm-add_signal-in-ADD_ADDR-echo-and-RM_ADDR-process/20210617-171559
base:   https://github.com/multipath-tcp/mptcp_net-next.git export
:::::: branch date: 14 hours ago
:::::: commit date: 14 hours ago
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

   net/mptcp/options.c:591:3: warning: Assignment of function parameter has no 
effect outside the function. [uselessAssignmentArg]
     remaining -= map_size;
     ^
   net/mptcp/options.c:849:3: warning: Assignment of function parameter has no 
effect outside the function. [uselessAssignmentArg]
     remaining -= opt_size;
     ^
>> net/mptcp/options.c:726:34: warning: Uninitialized variable: flags 
>> [uninitvar]
    WRITE_ONCE(msk->pm.addr_signal, flags | msk->pm.addr_signal);
                                    ^

vim +726 net/mptcp/options.c

3df523ab582c52 Peter Krystad 2020-03-27  656  
84dfe3677a6f45 Geliang Tang  2020-11-19  657  static bool 
mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *skb,
3df523ab582c52 Peter Krystad 2020-03-27  658                                    
       unsigned int *size,
3df523ab582c52 Peter Krystad 2020-03-27  659                                    
       unsigned int remaining,
3df523ab582c52 Peter Krystad 2020-03-27  660                                    
       struct mptcp_out_options *opts)
3df523ab582c52 Peter Krystad 2020-03-27  661  {
3df523ab582c52 Peter Krystad 2020-03-27  662    struct mptcp_subflow_context 
*subflow = mptcp_subflow_ctx(sk);
3df523ab582c52 Peter Krystad 2020-03-27  663    struct mptcp_sock *msk = 
mptcp_sk(subflow->conn);
84dfe3677a6f45 Geliang Tang  2020-11-19  664    bool drop_other_suboptions = 
false;
84dfe3677a6f45 Geliang Tang  2020-11-19  665    unsigned int opt_size = *size;
dcb008513c667a Yonglong Li   2021-06-17  666    struct mptcp_addr_info remote;
dcb008513c667a Yonglong Li   2021-06-17  667    struct mptcp_addr_info local;
dcb008513c667a Yonglong Li   2021-06-17  668    int ret = false;
dcb008513c667a Yonglong Li   2021-06-17  669    u8 add_addr, flags;
1b1c7a0ef7f323 Peter Krystad 2020-03-27  670    int len;
3df523ab582c52 Peter Krystad 2020-03-27  671  
dcb008513c667a Yonglong Li   2021-06-17  672    if 
(!mptcp_pm_should_add_signal(msk))
dcb008513c667a Yonglong Li   2021-06-17  673            goto out;
dcb008513c667a Yonglong Li   2021-06-17  674  
dcb008513c667a Yonglong Li   2021-06-17  675    *size = 0;
dcb008513c667a Yonglong Li   2021-06-17  676    mptcp_pm_add_addr_signal(msk, 
&local, &remote, &add_addr);
dcb008513c667a Yonglong Li   2021-06-17  677    if 
(mptcp_pm_should_add_signal_echo(msk)) {
dcb008513c667a Yonglong Li   2021-06-17  678            if (skb && 
skb_is_tcp_pure_ack(skb)) {
84dfe3677a6f45 Geliang Tang  2020-11-19  679                    pr_debug("drop 
other suboptions");
84dfe3677a6f45 Geliang Tang  2020-11-19  680                    
opts->suboptions = 0;
3ae32c07815a24 Geliang Tang  2020-12-15  681                    
opts->ext_copy.use_ack = 0;
3ae32c07815a24 Geliang Tang  2020-12-15  682                    
opts->ext_copy.use_map = 0;
84dfe3677a6f45 Geliang Tang  2020-11-19  683                    remaining += 
opt_size;
84dfe3677a6f45 Geliang Tang  2020-11-19  684                    
drop_other_suboptions = true;
84dfe3677a6f45 Geliang Tang  2020-11-19  685            }
dcb008513c667a Yonglong Li   2021-06-17  686            len = 
mptcp_add_addr_len(remote.family, true, !!remote.port);
dcb008513c667a Yonglong Li   2021-06-17  687            if (remaining < len && 
mptcp_pm_should_add_signal_addr(msk))
dcb008513c667a Yonglong Li   2021-06-17  688                    goto add_addr;
dcb008513c667a Yonglong Li   2021-06-17  689            else if (remaining < 
len)
dcb008513c667a Yonglong Li   2021-06-17  690                    goto out;
dcb008513c667a Yonglong Li   2021-06-17  691            remaining -= len;
dcb008513c667a Yonglong Li   2021-06-17  692            *size += len;
dcb008513c667a Yonglong Li   2021-06-17  693            opts->remote = remote;
dcb008513c667a Yonglong Li   2021-06-17  694            flags = 
(u8)~BIT(MPTCP_ADD_ADDR_ECHO);
dcb008513c667a Yonglong Li   2021-06-17  695            opts->suboptions |= 
OPTION_MPTCP_ADD_ECHO;
dcb008513c667a Yonglong Li   2021-06-17  696            pr_debug("addr_id=%d, 
echo=1, port=%d addr_signal:%x",
dcb008513c667a Yonglong Li   2021-06-17  697                     
opts->remote.id, ntohs(opts->remote.port), add_addr);
dcb008513c667a Yonglong Li   2021-06-17  698    } else if 
(mptcp_pm_should_add_signal_addr(msk)) {
dcb008513c667a Yonglong Li   2021-06-17  699  add_addr:
dcb008513c667a Yonglong Li   2021-06-17  700            if ((local.family == 
AF_INET6 || local.port) && skb &&
dcb008513c667a Yonglong Li   2021-06-17  701                
skb_is_tcp_pure_ack(skb)) {
dcb008513c667a Yonglong Li   2021-06-17  702                    pr_debug("drop 
other suboptions");
dcb008513c667a Yonglong Li   2021-06-17  703                    
opts->suboptions = 0;
dcb008513c667a Yonglong Li   2021-06-17  704                    
opts->ext_copy.use_ack = 0;
dcb008513c667a Yonglong Li   2021-06-17  705                    
opts->ext_copy.use_map = 0;
dcb008513c667a Yonglong Li   2021-06-17  706                    remaining += 
opt_size;
dcb008513c667a Yonglong Li   2021-06-17  707                    
drop_other_suboptions = true;
dcb008513c667a Yonglong Li   2021-06-17  708            }
dcb008513c667a Yonglong Li   2021-06-17  709            len = 
mptcp_add_addr_len(local.family, false, !!local.port);
1b1c7a0ef7f323 Peter Krystad 2020-03-27  710            if (remaining < len)
dcb008513c667a Yonglong Li   2021-06-17  711                    goto out;
dcb008513c667a Yonglong Li   2021-06-17  712            *size += len;
dcb008513c667a Yonglong Li   2021-06-17  713            opts->addr = local;
3df523ab582c52 Peter Krystad 2020-03-27  714            opts->ahmac = 
add_addr_generate_hmac(msk->local_key,
3df523ab582c52 Peter Krystad 2020-03-27  715                                    
             msk->remote_key,
761c124ed96985 Geliang Tang  2021-04-06  716                                    
             &opts->addr);
dcb008513c667a Yonglong Li   2021-06-17  717            opts->suboptions |= 
OPTION_MPTCP_ADD_ADDR;
dcb008513c667a Yonglong Li   2021-06-17  718            flags = 
(u8)~BIT(MPTCP_ADD_ADDR_SIGNAL);
dcb008513c667a Yonglong Li   2021-06-17  719            pr_debug("addr_id=%d, 
ahmac=%llu, echo=0, port=%d, addr_signal:%x",
dcb008513c667a Yonglong Li   2021-06-17  720                     opts->addr.id, 
opts->ahmac, ntohs(opts->addr.port), add_addr);
3df523ab582c52 Peter Krystad 2020-03-27  721    }
3df523ab582c52 Peter Krystad 2020-03-27  722  
dcb008513c667a Yonglong Li   2021-06-17  723    if (drop_other_suboptions)
dcb008513c667a Yonglong Li   2021-06-17  724            *size -= opt_size;
dcb008513c667a Yonglong Li   2021-06-17  725    spin_lock_bh(&msk->pm.lock);
dcb008513c667a Yonglong Li   2021-06-17 @726    WRITE_ONCE(msk->pm.addr_signal, 
flags | msk->pm.addr_signal);
dcb008513c667a Yonglong Li   2021-06-17  727    spin_unlock_bh(&msk->pm.lock);
dcb008513c667a Yonglong Li   2021-06-17  728    ret = true;
dcb008513c667a Yonglong Li   2021-06-17  729  
dcb008513c667a Yonglong Li   2021-06-17  730  out:
dcb008513c667a Yonglong Li   2021-06-17  731    return ret;
3df523ab582c52 Peter Krystad 2020-03-27  732  }
3df523ab582c52 Peter Krystad 2020-03-27  733  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to