Permalink
Browse files

Merge tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/g…

…it/broonie/regmap

Pull last minute regman bug fix from Mark Brown:
 "This is a last minute bug fix that was only just noticed since the
  code path that's being exercised here is one that is fairly rarely
  used.  The changelog for the change itself is extremely clear and the
  code itself is obvious to inspection so should be pretty safe."

* tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: fix possible memory corruption in regmap_bulk_read()
  • Loading branch information...
2 parents 63f4711 + 6560ffd commit 22b6dd78aec32abf38d9b187dea2e0a8b28aa186 @torvalds torvalds committed May 9, 2012
Showing with 3 additions and 1 deletion.
  1. +3 −1 drivers/base/regmap/regmap.c
@@ -775,9 +775,11 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val,
map->format.parse_val(val + i);
} else {
for (i = 0; i < val_count; i++) {
- ret = regmap_read(map, reg + i, val + (i * val_bytes));
+ unsigned int ival;
+ ret = regmap_read(map, reg + i, &ival);
if (ret != 0)
return ret;
+ memcpy(val + (i * val_bytes), &ival, val_bytes);
}
}

0 comments on commit 22b6dd7

Please sign in to comment.