Messages in this thread | | | Date | Sun, 2 Jul 2023 02:27:33 +0800 | From | kernel test robot <> | Subject | drivers/base/regmap/regcache-maple.c:114:23: warning: 'upper_index' is used uninitialized |
| |
Hi Mark,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: e3c2b10d6f15640407bef3098accf10faa4ecf1b commit: f033c26de5a5734625d2dd1dc196745fae186f1b regmap: Add maple tree based register cache date: 3 months ago config: arc-vdk_hs38_defconfig (https://download.01.org/0day-ci/archive/20230702/202307020213.Qt5xjEi8-lkp@intel.com/config) compiler: arc-elf-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230702/202307020213.Qt5xjEi8-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> | Closes: https://lore.kernel.org/oe-kbuild-all/202307020213.Qt5xjEi8-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop': drivers/base/regmap/regcache-maple.c:113:23: warning: 'lower_index' is used uninitialized [-Wuninitialized] 113 | unsigned long lower_index, lower_last; | ^~~~~~~~~~~ drivers/base/regmap/regcache-maple.c:113:36: warning: 'lower_last' is used uninitialized [-Wuninitialized] 113 | unsigned long lower_index, lower_last; | ^~~~~~~~~~ >> drivers/base/regmap/regcache-maple.c:114:23: warning: 'upper_index' is used uninitialized [-Wuninitialized] 114 | unsigned long upper_index, upper_last; | ^~~~~~~~~~~ >> drivers/base/regmap/regcache-maple.c:114:36: warning: 'upper_last' is used uninitialized [-Wuninitialized] 114 | unsigned long upper_index, upper_last; | ^~~~~~~~~~
vim +/upper_index +114 drivers/base/regmap/regcache-maple.c
106 107 static int regcache_maple_drop(struct regmap *map, unsigned int min, 108 unsigned int max) 109 { 110 struct maple_tree *mt = map->cache; 111 MA_STATE(mas, mt, min, max); 112 unsigned long *entry, *lower, *upper; > 113 unsigned long lower_index, lower_last; > 114 unsigned long upper_index, upper_last; 115 int ret; 116 117 lower = NULL; 118 upper = NULL; 119 120 mas_lock(&mas); 121 122 mas_for_each(&mas, entry, max) { 123 /* 124 * This is safe because the regmap lock means the 125 * Maple lock is redundant, but we need to take it due 126 * to lockdep asserts in the maple tree code. 127 */ 128 mas_unlock(&mas); 129 130 /* Do we need to save any of this entry? */ 131 if (mas.index < min) { 132 lower_index = mas.index; 133 lower_last = min -1; 134 135 lower = kmemdup(entry, ((min - mas.index) * 136 sizeof(unsigned long)), 137 GFP_KERNEL); 138 if (!lower) { 139 ret = -ENOMEM; 140 goto out; 141 } 142 } 143 144 if (mas.last > max) { 145 upper_index = max + 1; 146 upper_last = mas.last; 147 148 upper = kmemdup(&entry[max + 1], 149 ((mas.last - max) * 150 sizeof(unsigned long)), 151 GFP_KERNEL); 152 if (!upper) { 153 ret = -ENOMEM; 154 goto out; 155 } 156 } 157 158 kfree(entry); 159 mas_lock(&mas); 160 mas_erase(&mas); 161 162 /* Insert new nodes with the saved data */ 163 if (lower) { 164 mas_set_range(&mas, lower_index, lower_last); 165 ret = mas_store_gfp(&mas, lower, GFP_KERNEL); 166 if (ret != 0) 167 goto out; 168 lower = NULL; 169 } 170 171 if (upper) { 172 mas_set_range(&mas, upper_index, upper_last); 173 ret = mas_store_gfp(&mas, upper, GFP_KERNEL); 174 if (ret != 0) 175 goto out; 176 upper = NULL; 177 } 178 } 179 180 out: 181 mas_unlock(&mas); 182 kfree(lower); 183 kfree(upper); 184 185 return ret; 186 } 187
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
| |