All of lore.kernel.org
 help / color / mirror / Atom feed
* [mptcp:export 11/21] net/mptcp/pm_netlink.c:553 mptcp_pm_nl_append_new_local_addr() warn: impossible condition '(entry->addr.id > 255) => (0-255 > 255)'
@ 2020-12-17 13:52 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-17 13:52 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 5633 bytes --]

CC: kbuild-all(a)lists.01.org
CC: mptcp(a)lists.01.org
TO: Geliang Tang <geliangtang@gmail.com>
CC: Mat Martineau <mathew.j.martineau@linux.intel.com>

tree:   https://github.com/multipath-tcp/mptcp_net-next.git export
head:   419ed13c1312e8901c526265e8f66dd8930732b8
commit: 737e2a42ce26bbd4839288d8cd1cfd9228f84018 [11/21] mptcp: add the address ID assignment bitmap
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: x86_64-randconfig-m001-20201217 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/mptcp/pm_netlink.c:553 mptcp_pm_nl_append_new_local_addr() warn: impossible condition '(entry->addr.id > 255) => (0-255 > 255)'

Old smatch warnings:
net/mptcp/pm_netlink.c:560 mptcp_pm_nl_append_new_local_addr() warn: impossible condition '(entry->addr.id > 255) => (0-255 > 255)'

vim +553 net/mptcp/pm_netlink.c

01cacb00b35cb62 Paolo Abeni  2020-03-27  520  
01cacb00b35cb62 Paolo Abeni  2020-03-27  521  static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet,
01cacb00b35cb62 Paolo Abeni  2020-03-27  522  					     struct mptcp_pm_addr_entry *entry)
01cacb00b35cb62 Paolo Abeni  2020-03-27  523  {
01cacb00b35cb62 Paolo Abeni  2020-03-27  524  	struct mptcp_pm_addr_entry *cur;
01cacb00b35cb62 Paolo Abeni  2020-03-27  525  	int ret = -EINVAL;
01cacb00b35cb62 Paolo Abeni  2020-03-27  526  
01cacb00b35cb62 Paolo Abeni  2020-03-27  527  	spin_lock_bh(&pernet->lock);
01cacb00b35cb62 Paolo Abeni  2020-03-27  528  	/* to keep the code simple, don't do IDR-like allocation for address ID,
01cacb00b35cb62 Paolo Abeni  2020-03-27  529  	 * just bail when we exceed limits
01cacb00b35cb62 Paolo Abeni  2020-03-27  530  	 */
737e2a42ce26bbd Geliang Tang 2020-12-17  531  	if (pernet->next_id == MAX_ADDR_ID)
737e2a42ce26bbd Geliang Tang 2020-12-17  532  		pernet->next_id = 1;
01cacb00b35cb62 Paolo Abeni  2020-03-27  533  	if (pernet->addrs >= MPTCP_PM_ADDR_MAX)
01cacb00b35cb62 Paolo Abeni  2020-03-27  534  		goto out;
737e2a42ce26bbd Geliang Tang 2020-12-17  535  	if (test_bit(entry->addr.id, pernet->id_bitmap))
737e2a42ce26bbd Geliang Tang 2020-12-17  536  		goto out;
01cacb00b35cb62 Paolo Abeni  2020-03-27  537  
01cacb00b35cb62 Paolo Abeni  2020-03-27  538  	/* do not insert duplicate address, differentiate on port only
01cacb00b35cb62 Paolo Abeni  2020-03-27  539  	 * singled addresses
01cacb00b35cb62 Paolo Abeni  2020-03-27  540  	 */
01cacb00b35cb62 Paolo Abeni  2020-03-27  541  	list_for_each_entry(cur, &pernet->local_addr_list, list) {
01cacb00b35cb62 Paolo Abeni  2020-03-27  542  		if (addresses_equal(&cur->addr, &entry->addr,
01cacb00b35cb62 Paolo Abeni  2020-03-27  543  				    address_use_port(entry) &&
01cacb00b35cb62 Paolo Abeni  2020-03-27  544  				    address_use_port(cur)))
01cacb00b35cb62 Paolo Abeni  2020-03-27  545  			goto out;
01cacb00b35cb62 Paolo Abeni  2020-03-27  546  	}
01cacb00b35cb62 Paolo Abeni  2020-03-27  547  
737e2a42ce26bbd Geliang Tang 2020-12-17  548  	if (!entry->addr.id) {
737e2a42ce26bbd Geliang Tang 2020-12-17  549  find_next:
737e2a42ce26bbd Geliang Tang 2020-12-17  550  		entry->addr.id = find_next_zero_bit(pernet->id_bitmap,
737e2a42ce26bbd Geliang Tang 2020-12-17  551  						    MAX_ADDR_ID + 1,
737e2a42ce26bbd Geliang Tang 2020-12-17  552  						    pernet->next_id);
737e2a42ce26bbd Geliang Tang 2020-12-17 @553  		if ((!entry->addr.id || entry->addr.id > MAX_ADDR_ID) &&
737e2a42ce26bbd Geliang Tang 2020-12-17  554  		    pernet->next_id != 1) {
737e2a42ce26bbd Geliang Tang 2020-12-17  555  			pernet->next_id = 1;
737e2a42ce26bbd Geliang Tang 2020-12-17  556  			goto find_next;
737e2a42ce26bbd Geliang Tang 2020-12-17  557  		}
737e2a42ce26bbd Geliang Tang 2020-12-17  558  	}
737e2a42ce26bbd Geliang Tang 2020-12-17  559  
737e2a42ce26bbd Geliang Tang 2020-12-17  560  	if (!entry->addr.id || entry->addr.id > MAX_ADDR_ID)
737e2a42ce26bbd Geliang Tang 2020-12-17  561  		goto out;
737e2a42ce26bbd Geliang Tang 2020-12-17  562  
737e2a42ce26bbd Geliang Tang 2020-12-17  563  	__set_bit(entry->addr.id, pernet->id_bitmap);
737e2a42ce26bbd Geliang Tang 2020-12-17  564  	if (entry->addr.id > pernet->next_id)
737e2a42ce26bbd Geliang Tang 2020-12-17  565  		pernet->next_id = entry->addr.id;
737e2a42ce26bbd Geliang Tang 2020-12-17  566  
ef0da3b8a2f18f5 Paolo Abeni  2020-09-14  567  	if (entry->addr.flags & MPTCP_PM_ADDR_FLAG_SIGNAL)
01cacb00b35cb62 Paolo Abeni  2020-03-27  568  		pernet->add_addr_signal_max++;
ef0da3b8a2f18f5 Paolo Abeni  2020-09-14  569  	if (entry->addr.flags & MPTCP_PM_ADDR_FLAG_SUBFLOW)
01cacb00b35cb62 Paolo Abeni  2020-03-27  570  		pernet->local_addr_max++;
01cacb00b35cb62 Paolo Abeni  2020-03-27  571  
01cacb00b35cb62 Paolo Abeni  2020-03-27  572  	pernet->addrs++;
01cacb00b35cb62 Paolo Abeni  2020-03-27  573  	list_add_tail_rcu(&entry->list, &pernet->local_addr_list);
01cacb00b35cb62 Paolo Abeni  2020-03-27  574  	ret = entry->addr.id;
01cacb00b35cb62 Paolo Abeni  2020-03-27  575  
01cacb00b35cb62 Paolo Abeni  2020-03-27  576  out:
01cacb00b35cb62 Paolo Abeni  2020-03-27  577  	spin_unlock_bh(&pernet->lock);
01cacb00b35cb62 Paolo Abeni  2020-03-27  578  	return ret;
01cacb00b35cb62 Paolo Abeni  2020-03-27  579  }
01cacb00b35cb62 Paolo Abeni  2020-03-27  580  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32634 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-17 13:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-17 13:52 [mptcp:export 11/21] net/mptcp/pm_netlink.c:553 mptcp_pm_nl_append_new_local_addr() warn: impossible condition '(entry->addr.id > 255) => (0-255 > 255)' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.