regmap: maple: work around gcc-14.1 false-positive warning
Subsystems (2)
PATCH 1/1 regmap: maple: work around gcc-14.1 false-positive warning
From: Arnd Bergmann <[email protected]>
With gcc-14.1, there is a false-postive -Wuninitialized warning in regcache_maple_drop:
drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop':drivers/base/regmap/regcache-maple.c:113:23: error: 'lower_index' is used uninitialized [-Werror=uninitialized]
113 | unsigned long lower_index, lower_last;
| ^~~~~~~~~~~drivers/base/regmap/regcache-maple.c:113:36: error: 'lower_last' is used uninitialized [-Werror=uninitialized]
113 | unsigned long lower_index, lower_last;
| ^~~~~~~~~~
I've created a reduced test case to see if this needs to be reported as a gcc, but it appears that the gcc-14.x branch already has a change that turns this into a more sensible -Wmaybe-uninitialized warning, so I ended up not reporting it so far.
The reduced test case also produces a warning for gcc-13 and gcc-12 but I don't see that with the version in the kernel.
---
I'm still not convinced that this is the best solution, but I had no other ideas here.
--- drivers/base/regmap/regcache-maple.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/base/regmap/regcache-maple.c +2 -1
@@ -110,7 +110,8 @@ static int regcache_maple_drop(struct regmap *map, unsigned int min,struct maple_tree *mt = map->cache;MA_STATE (mas, mt, min, max);unsigned long *entry, *lower, *upper; -unsigned long lower_index, lower_last; +/* initialized to work around false-positive -Wuninitialized warning */ +unsigned long lower_index =0 , lower_last =0 ;unsigned long upper_index, upper_last;int ret =0 ;
Signature · 1 line
2.39.2
Mark Brown
maintainerQuoted 5 lines · Arnd Bergmann
With gcc-14.1, there is a false-postive -Wuninitialized warning in
regcache_maple_drop:
drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop':drivers/base/regmap/regcache-maple.c:113:23: error: 'lower_index' is used uninitialized [-Werror=uninitialized]
Quoted 7 lines
113 | unsigned long lower_index, lower_last; | ^~~~~~~~~~~
drivers/base/regmap/regcache-maple.c:113:36: error: 'lower_last' is used uninitialized [-Werror=uninitialized]
113 | unsigned longlower_index,lower_last;
| ^~~~~~~~~~[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git for-next
Thanks!
[1/1] regmap: maple: work around gcc-14.1 false-positive warning
commit: 542440fd7b30983cae23e32bd22f69a076ec7ef4
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark