regmap: validate regmap_raw_read/write val_len
val_len should be a multiple of val_bytes. If it's not, error out early. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Родитель
9878647f43
Коммит
851960ba7c
|
@ -595,6 +595,9 @@ int regmap_raw_write(struct regmap *map, unsigned int reg,
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (val_len % map->format.val_bytes)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
map->lock(map);
|
map->lock(map);
|
||||||
|
|
||||||
ret = _regmap_raw_write(map, reg, val, val_len);
|
ret = _regmap_raw_write(map, reg, val, val_len);
|
||||||
|
@ -753,6 +756,9 @@ int regmap_raw_read(struct regmap *map, unsigned int reg, void *val,
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
|
if (val_len % map->format.val_bytes)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
map->lock(map);
|
map->lock(map);
|
||||||
|
|
||||||
if (regmap_volatile_range(map, reg, val_count) || map->cache_bypass ||
|
if (regmap_volatile_range(map, reg, val_count) || map->cache_bypass ||
|
||||||
|
|
Загрузка…
Ссылка в новой задаче