CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: 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: 8b20137012d9e521736c040328f8979cf0a144d0 [2/18] mptcp: read attributes 
of addr entries managed by userspace PMs
:::::: branch date: 6 hours ago
:::::: commit date: 23 hours ago
compiler: aarch64-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 8b20137012d9e521736c040328f8979cf0a144d0
        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:657: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) {
                      ^

vim +/skc +106 net/mptcp/pm_userspace.c

4638de5aefe563 Kishen Maloor 2022-05-03   26  
4638de5aefe563 Kishen Maloor 2022-05-03   27  int 
mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk,
4638de5aefe563 Kishen Maloor 2022-05-03   28                                    
     struct mptcp_pm_addr_entry *entry)
4638de5aefe563 Kishen Maloor 2022-05-03   29  {
4638de5aefe563 Kishen Maloor 2022-05-03   30    DECLARE_BITMAP(id_bitmap, 
MPTCP_PM_MAX_ADDR_ID + 1);
4638de5aefe563 Kishen Maloor 2022-05-03   31    struct mptcp_pm_addr_entry 
*match = NULL;
4638de5aefe563 Kishen Maloor 2022-05-03   32    struct sock *sk = (struct sock 
*)msk;
4638de5aefe563 Kishen Maloor 2022-05-03   33    struct mptcp_pm_addr_entry *e;
4638de5aefe563 Kishen Maloor 2022-05-03   34    bool addr_match = false;
4638de5aefe563 Kishen Maloor 2022-05-03   35    bool id_match = false;
4638de5aefe563 Kishen Maloor 2022-05-03   36    int ret = -EINVAL;
4638de5aefe563 Kishen Maloor 2022-05-03   37  
4638de5aefe563 Kishen Maloor 2022-05-03   38    bitmap_zero(id_bitmap, 
MPTCP_PM_MAX_ADDR_ID + 1);
4638de5aefe563 Kishen Maloor 2022-05-03   39  
4638de5aefe563 Kishen Maloor 2022-05-03   40    spin_lock_bh(&msk->pm.lock);
4638de5aefe563 Kishen Maloor 2022-05-03   41    list_for_each_entry(e, 
&msk->pm.userspace_pm_local_addr_list, list) {
4638de5aefe563 Kishen Maloor 2022-05-03   42            addr_match = 
mptcp_addresses_equal(&e->addr, &entry->addr, true);
4638de5aefe563 Kishen Maloor 2022-05-03   43            if (addr_match && 
entry->addr.id == 0)
4638de5aefe563 Kishen Maloor 2022-05-03   44                    entry->addr.id 
= e->addr.id;
4638de5aefe563 Kishen Maloor 2022-05-03   45            id_match = (e->addr.id 
== entry->addr.id);
4638de5aefe563 Kishen Maloor 2022-05-03   46            if (addr_match && 
id_match) {
4638de5aefe563 Kishen Maloor 2022-05-03  @47                    match = e;
4638de5aefe563 Kishen Maloor 2022-05-03   48                    break;
4638de5aefe563 Kishen Maloor 2022-05-03   49            } else if (addr_match 
|| id_match) {
4638de5aefe563 Kishen Maloor 2022-05-03   50                    break;
4638de5aefe563 Kishen Maloor 2022-05-03   51            }
4638de5aefe563 Kishen Maloor 2022-05-03   52            __set_bit(e->addr.id, 
id_bitmap);
4638de5aefe563 Kishen Maloor 2022-05-03   53    }
4638de5aefe563 Kishen Maloor 2022-05-03   54  
4638de5aefe563 Kishen Maloor 2022-05-03   55    if (!match && !addr_match && 
!id_match) {
4638de5aefe563 Kishen Maloor 2022-05-03   56            /* Memory for the entry 
is allocated from the
4638de5aefe563 Kishen Maloor 2022-05-03   57             * sock option buffer.
4638de5aefe563 Kishen Maloor 2022-05-03   58             */
4638de5aefe563 Kishen Maloor 2022-05-03   59            e = sock_kmalloc(sk, 
sizeof(*e), GFP_ATOMIC);
4638de5aefe563 Kishen Maloor 2022-05-03   60            if (!e) {
4638de5aefe563 Kishen Maloor 2022-05-03   61                    
spin_unlock_bh(&msk->pm.lock);
4638de5aefe563 Kishen Maloor 2022-05-03   62                    return -ENOMEM;
4638de5aefe563 Kishen Maloor 2022-05-03   63            }
4638de5aefe563 Kishen Maloor 2022-05-03   64  
4638de5aefe563 Kishen Maloor 2022-05-03   65            *e = *entry;
4638de5aefe563 Kishen Maloor 2022-05-03   66            if (!e->addr.id)
4638de5aefe563 Kishen Maloor 2022-05-03   67                    e->addr.id = 
find_next_zero_bit(id_bitmap,
4638de5aefe563 Kishen Maloor 2022-05-03   68                                    
                MPTCP_PM_MAX_ADDR_ID + 1,
4638de5aefe563 Kishen Maloor 2022-05-03   69                                    
                1);
4638de5aefe563 Kishen Maloor 2022-05-03   70            
list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list);
4638de5aefe563 Kishen Maloor 2022-05-03   71            ret = e->addr.id;
4638de5aefe563 Kishen Maloor 2022-05-03   72    } else if (match) {
4638de5aefe563 Kishen Maloor 2022-05-03   73            ret = entry->addr.id;
4638de5aefe563 Kishen Maloor 2022-05-03   74    }
4638de5aefe563 Kishen Maloor 2022-05-03   75  
4638de5aefe563 Kishen Maloor 2022-05-03   76    spin_unlock_bh(&msk->pm.lock);
4638de5aefe563 Kishen Maloor 2022-05-03   77    return ret;
4638de5aefe563 Kishen Maloor 2022-05-03   78  }
8b20137012d9e5 Kishen Maloor 2022-05-03   79  
8b20137012d9e5 Kishen Maloor 2022-05-03   80  int 
mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk,
8b20137012d9e5 Kishen Maloor 2022-05-03   81                                    
           unsigned int id,
8b20137012d9e5 Kishen Maloor 2022-05-03   82                                    
           u8 *flags, int *ifindex)
8b20137012d9e5 Kishen Maloor 2022-05-03   83  {
8b20137012d9e5 Kishen Maloor 2022-05-03   84    struct mptcp_pm_addr_entry 
*entry, *match = NULL;
8b20137012d9e5 Kishen Maloor 2022-05-03   85  
8b20137012d9e5 Kishen Maloor 2022-05-03   86    *flags = 0;
8b20137012d9e5 Kishen Maloor 2022-05-03   87    *ifindex = 0;
8b20137012d9e5 Kishen Maloor 2022-05-03   88  
8b20137012d9e5 Kishen Maloor 2022-05-03   89    spin_lock_bh(&msk->pm.lock);
8b20137012d9e5 Kishen Maloor 2022-05-03   90    list_for_each_entry(entry, 
&msk->pm.userspace_pm_local_addr_list, list) {
8b20137012d9e5 Kishen Maloor 2022-05-03  @91            if (id == 
entry->addr.id) {
8b20137012d9e5 Kishen Maloor 2022-05-03   92                    match = entry;
8b20137012d9e5 Kishen Maloor 2022-05-03   93                    break;
8b20137012d9e5 Kishen Maloor 2022-05-03   94            }
8b20137012d9e5 Kishen Maloor 2022-05-03   95    }
8b20137012d9e5 Kishen Maloor 2022-05-03   96    spin_unlock_bh(&msk->pm.lock);
8b20137012d9e5 Kishen Maloor 2022-05-03   97    if (match) {
8b20137012d9e5 Kishen Maloor 2022-05-03   98            *flags = match->flags;
8b20137012d9e5 Kishen Maloor 2022-05-03   99            *ifindex = 
match->ifindex;
8b20137012d9e5 Kishen Maloor 2022-05-03  100    }
8b20137012d9e5 Kishen Maloor 2022-05-03  101  
8b20137012d9e5 Kishen Maloor 2022-05-03  102    return 0;
8b20137012d9e5 Kishen Maloor 2022-05-03  103  }
8b20137012d9e5 Kishen Maloor 2022-05-03  104  
8b20137012d9e5 Kishen Maloor 2022-05-03  105  int 
mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk,
8b20137012d9e5 Kishen Maloor 2022-05-03 @106                                
struct mptcp_addr_info *skc)

-- 
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