All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/vfio/vfio_main.c:957 vfio_combine_iova_ranges() error: uninitialized symbol 'last'.
@ 2023-09-03  2:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-09-03  2:17 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Brett Creeley <brett.creeley@amd.com>
CC: Alex Williamson <alex.williamson@redhat.com>
CC: Shannon Nelson <shannon.nelson@amd.com>
CC: Simon Horman <horms@kernel.org>
CC: Jason Gunthorpe <jgg@nvidia.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   92901222f83d988617aee37680cb29e1a743b5e4
commit: 9a4087fab303e7923ab839a6fe35059659a54649 vfio: Commonize combine_ranges for use in other VFIO drivers
date:   2 weeks ago
:::::: branch date: 4 hours ago
:::::: commit date: 2 weeks ago
config: x86_64-randconfig-161-20230902 (https://download.01.org/0day-ci/archive/20230903/202309031015.RIpZul4a-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230903/202309031015.RIpZul4a-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309031015.RIpZul4a-lkp@intel.com/

smatch warnings:
drivers/vfio/vfio_main.c:957 vfio_combine_iova_ranges() error: uninitialized symbol 'last'.
drivers/vfio/vfio_main.c:978 vfio_combine_iova_ranges() error: potentially dereferencing uninitialized 'comb_end'.
drivers/vfio/vfio_main.c:978 vfio_combine_iova_ranges() error: potentially dereferencing uninitialized 'comb_start'.

vim +/last +957 drivers/vfio/vfio_main.c

115dcec65f61d5 drivers/vfio/vfio.c      Jason Gunthorpe 2022-02-24  937  
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  938  void vfio_combine_iova_ranges(struct rb_root_cached *root, u32 cur_nodes,
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  939  			      u32 req_nodes)
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  940  {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  941  	struct interval_tree_node *prev, *curr, *comb_start, *comb_end;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  942  	unsigned long min_gap, curr_gap;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  943  
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  944  	/* Special shortcut when a single range is required */
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  945  	if (req_nodes == 1) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  946  		unsigned long last;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  947  
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  948  		comb_start = interval_tree_iter_first(root, 0, ULONG_MAX);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  949  		curr = comb_start;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  950  		while (curr) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  951  			last = curr->last;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  952  			prev = curr;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  953  			curr = interval_tree_iter_next(curr, 0, ULONG_MAX);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  954  			if (prev != comb_start)
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  955  				interval_tree_remove(prev, root);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  956  		}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07 @957  		comb_start->last = last;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  958  		return;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  959  	}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  960  
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  961  	/* Combine ranges which have the smallest gap */
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  962  	while (cur_nodes > req_nodes) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  963  		prev = NULL;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  964  		min_gap = ULONG_MAX;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  965  		curr = interval_tree_iter_first(root, 0, ULONG_MAX);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  966  		while (curr) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  967  			if (prev) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  968  				curr_gap = curr->start - prev->last;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  969  				if (curr_gap < min_gap) {
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  970  					min_gap = curr_gap;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  971  					comb_start = prev;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  972  					comb_end = curr;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  973  				}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  974  			}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  975  			prev = curr;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  976  			curr = interval_tree_iter_next(curr, 0, ULONG_MAX);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  977  		}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07 @978  		comb_start->last = comb_end->last;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  979  		interval_tree_remove(comb_end, root);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  980  		cur_nodes--;
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  981  	}
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  982  }
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  983  EXPORT_SYMBOL_GPL(vfio_combine_iova_ranges);
9a4087fab303e7 drivers/vfio/vfio_main.c Brett Creeley   2023-08-07  984  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

only message in thread, other threads:[~2023-09-03  2:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-03  2:17 drivers/vfio/vfio_main.c:957 vfio_combine_iova_ranges() error: uninitialized symbol 'last' 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.