Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regmap: cache: Add extra parameter check in regcache_init

When num_reg_defaults > 0 but reg_defaults is NULL, there will be a
NULL pointer exception.

Current code has no such usage, but as additional hardening, also
check this to prevent any chance of crashing.

Signed-off-by: Schspa Shi <schspa@gmail.com>
Link: https://lore.kernel.org/r/20220629130951.63040-1-schspa@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Schspa Shi and committed by
Mark Brown
a5201d42 06fae51b

+6
+6
drivers/base/regmap/regcache.c
··· 133 133 return -EINVAL; 134 134 } 135 135 136 + if (config->num_reg_defaults && !config->reg_defaults) { 137 + dev_err(map->dev, 138 + "Register defaults number are set without the reg!\n"); 139 + return -EINVAL; 140 + } 141 + 136 142 for (i = 0; i < config->num_reg_defaults; i++) 137 143 if (config->reg_defaults[i].reg % map->reg_stride) 138 144 return -EINVAL;