CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Florian Westphal <[email protected]>
CC: Kishen Maloor <[email protected]>
CC: Mat Martineau <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
master
head:   4950b6990e3b1efae64a5f6fc5738d25e3b816b3
commit: 702c2f646d42cfd9e31133d68a8283fea48fd810 [8/18] mptcp: netlink: allow 
userspace-driven subflow establishment
:::::: branch date: 7 hours ago
:::::: commit date: 25 hours ago
compiler: aarch64-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 702c2f646d42cfd9e31133d68a8283fea48fd810
        cppcheck --quiet --enable=style,performance,portability --template=gcc 
FILE

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)

   In file included from net/mptcp/pm_userspace.c:
   net/mptcp/pm_userspace.c:106:33: warning: Parameter 'skc' can be declared 
with const [constParameter]
           struct mptcp_addr_info *skc)
                                   ^
   net/mptcp/protocol.h:658:7: warning: Uninitialized variables: tmp.node, 
tmp.local_key, tmp.remote_key, tmp.idsn, tmp.map_seq, tmp.snd_isn, tmp.token, 
tmp.rel_write_seq, tmp.map_subflow_seq, tmp.ssn_offset, tmp.map_data_len, 
tmp.map_data_csum, tmp.map_csum_len, tmp.request_mptcp, tmp.request_join, 
tmp.request_bkup, tmp.mp_capable, tmp.mp_join, tmp.fully_established, 
tmp.pm_notified, tmp.conn_finished, tmp.map_valid, tmp.map_csum_reqd, 
tmp.map_data_fin, tmp.mpc_map, tmp.backup, tmp.send_mp_prio, tmp.send_mp_fail, 
tmp.send_fastclose, tmp.send_infinite_map, tmp.rx_eof, tmp.can_ack, 
tmp.disposable, tmp.stale, tmp.local_id_valid, tmp.data_avail, 
tmp.mp_fail_response_expect, tmp.remote_nonce, tmp.thmac, tmp.local_nonce, 
tmp.remote_token, tmp.local_id, tmp.remote_id, tmp.reset_seen, 
tmp.reset_transient, tmp.reset_reason, tmp.stale_count, tmp.delegated_status, 
tmp.delegated_node, tmp.setsockopt_seq, tmp.stale_rcv_tstamp, tmp.tcp_sock, 
tmp.conn, tmp.icsk_af_ops, tmp.tcp_state_change, tmp.tc
 p_error_report, tmp.rcu [uninitvar]
     if (tmp != subflow)
         ^
   net/mptcp/pm_userspace.c:47:12: warning: Uninitialized variables: e.list, 
e.flags, e.ifindex, e.lsk [uninitvar]
      match = e;
              ^
   net/mptcp/pm_userspace.c:91:20: warning: Uninitialized variable: entry->addr 
[uninitvar]
     if (id == entry->addr.id) {
                      ^
>> net/mptcp/pm_userspace.c:322:32: warning: Uninitialized variables: 
>> subflow.node, subflow.local_key, subflow.remote_key, subflow.idsn, 
>> subflow.map_seq, subflow.snd_isn, subflow.token, subflow.rel_write_seq, 
>> subflow.map_subflow_seq, subflow.ssn_offset, subflow.map_data_len, 
>> subflow.map_data_csum, subflow.map_csum_len, subflow.request_mptcp, 
>> subflow.request_join, subflow.request_bkup, subflow.mp_capable, 
>> subflow.mp_join, subflow.fully_established, subflow.pm_notified, 
>> subflow.conn_finished, subflow.map_valid, subflow.map_csum_reqd, 
>> subflow.map_data_fin, subflow.mpc_map, subflow.backup, subflow.send_mp_prio, 
>> subflow.send_mp_fail, subflow.send_fastclose, subflow.send_infinite_map, 
>> subflow.rx_eof, subflow.can_ack, subflow.disposable, subflow.stale, 
>> subflow.local_id_valid, subflow.data_avail, subflow.mp_fail_response_expect, 
>> subflow.remote_nonce, subflow.thmac, subflow.local_nonce, 
>> subflow.remote_token, subflow.local_id, subflow.remote_id, 
>> subflow.reset_seen, subflow.reset_transient, sub
 flow.reset_reason, subflow.stale_count, subflow.delegated_status, 
subflow.delegated_node, subflow.setsockopt_seq, subflow.stale_rcv_tstamp, 
subflow.tcp_sock, subflow.conn, subflow.icsk_af_ops, subflow.tcp_state_change, 
subflow.tcp_error_report, subflow.rcu [uninitvar]
     ssk = mptcp_subflow_tcp_sock(subflow);
                                  ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)
                      ^
   net/mptcp/pm_userspace.c:313:20: note: Assuming condition is false
    if (local->family != remote->family)

vim +322 net/mptcp/pm_userspace.c

702c2f646d42cf Florian Westphal 2022-05-03  304  
702c2f646d42cf Florian Westphal 2022-05-03  305  static struct sock 
*mptcp_nl_find_ssk(struct mptcp_sock *msk,
702c2f646d42cf Florian Westphal 2022-05-03  306                                 
      const struct mptcp_addr_info *local,
702c2f646d42cf Florian Westphal 2022-05-03  307                                 
      const struct mptcp_addr_info *remote)
702c2f646d42cf Florian Westphal 2022-05-03  308  {
702c2f646d42cf Florian Westphal 2022-05-03  309         struct sock *sk = 
&msk->sk.icsk_inet.sk;
702c2f646d42cf Florian Westphal 2022-05-03  310         struct 
mptcp_subflow_context *subflow;
702c2f646d42cf Florian Westphal 2022-05-03  311         struct sock *found = 
NULL;
702c2f646d42cf Florian Westphal 2022-05-03  312  
702c2f646d42cf Florian Westphal 2022-05-03  313         if (local->family != 
remote->family)
702c2f646d42cf Florian Westphal 2022-05-03  314                 return NULL;
702c2f646d42cf Florian Westphal 2022-05-03  315  
702c2f646d42cf Florian Westphal 2022-05-03  316         lock_sock(sk);
702c2f646d42cf Florian Westphal 2022-05-03  317  
702c2f646d42cf Florian Westphal 2022-05-03  318         
mptcp_for_each_subflow(msk, subflow) {
702c2f646d42cf Florian Westphal 2022-05-03  319                 const struct 
inet_sock *issk;
702c2f646d42cf Florian Westphal 2022-05-03  320                 struct sock 
*ssk;
702c2f646d42cf Florian Westphal 2022-05-03  321  
702c2f646d42cf Florian Westphal 2022-05-03 @322                 ssk = 
mptcp_subflow_tcp_sock(subflow);
702c2f646d42cf Florian Westphal 2022-05-03  323  
702c2f646d42cf Florian Westphal 2022-05-03  324                 if 
(local->family != ssk->sk_family)
702c2f646d42cf Florian Westphal 2022-05-03  325                         
continue;
702c2f646d42cf Florian Westphal 2022-05-03  326  
702c2f646d42cf Florian Westphal 2022-05-03  327                 issk = 
inet_sk(ssk);
702c2f646d42cf Florian Westphal 2022-05-03  328  
702c2f646d42cf Florian Westphal 2022-05-03  329                 switch 
(ssk->sk_family) {
702c2f646d42cf Florian Westphal 2022-05-03  330                 case AF_INET:
702c2f646d42cf Florian Westphal 2022-05-03  331                         if 
(issk->inet_saddr != local->addr.s_addr ||
702c2f646d42cf Florian Westphal 2022-05-03  332                             
issk->inet_daddr != remote->addr.s_addr)
702c2f646d42cf Florian Westphal 2022-05-03  333                                 
continue;
702c2f646d42cf Florian Westphal 2022-05-03  334                         break;
702c2f646d42cf Florian Westphal 2022-05-03  335  #if 
IS_ENABLED(CONFIG_MPTCP_IPV6)
702c2f646d42cf Florian Westphal 2022-05-03  336                 case AF_INET6: {
702c2f646d42cf Florian Westphal 2022-05-03  337                         const 
struct ipv6_pinfo *pinfo = inet6_sk(ssk);
702c2f646d42cf Florian Westphal 2022-05-03  338  
702c2f646d42cf Florian Westphal 2022-05-03  339                         if 
(!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
702c2f646d42cf Florian Westphal 2022-05-03  340                             
!ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
702c2f646d42cf Florian Westphal 2022-05-03  341                                 
continue;
702c2f646d42cf Florian Westphal 2022-05-03  342                         break;
702c2f646d42cf Florian Westphal 2022-05-03  343                 }
702c2f646d42cf Florian Westphal 2022-05-03  344  #endif
702c2f646d42cf Florian Westphal 2022-05-03  345                 default:
702c2f646d42cf Florian Westphal 2022-05-03  346                         
continue;
702c2f646d42cf Florian Westphal 2022-05-03  347                 }
702c2f646d42cf Florian Westphal 2022-05-03  348  
702c2f646d42cf Florian Westphal 2022-05-03  349                 if 
(issk->inet_sport == local->port &&
702c2f646d42cf Florian Westphal 2022-05-03  350                     
issk->inet_dport == remote->port) {
702c2f646d42cf Florian Westphal 2022-05-03  351                         found = 
ssk;
702c2f646d42cf Florian Westphal 2022-05-03  352                         goto 
found;
702c2f646d42cf Florian Westphal 2022-05-03  353                 }
702c2f646d42cf Florian Westphal 2022-05-03  354         }
702c2f646d42cf Florian Westphal 2022-05-03  355  
702c2f646d42cf Florian Westphal 2022-05-03  356  found:
702c2f646d42cf Florian Westphal 2022-05-03  357         release_sock(sk);
702c2f646d42cf Florian Westphal 2022-05-03  358  
702c2f646d42cf Florian Westphal 2022-05-03  359         return found;
702c2f646d42cf Florian Westphal 2022-05-03  360  }
702c2f646d42cf Florian Westphal 2022-05-03  361  

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

Reply via email to