diff options
author | Pankaj Dubey <pankaj.dubey@samsung.com> | 2014-09-27 00:17:55 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-09-27 07:21:15 -0400 |
commit | 5336be8416a71b5568d2cf54a2f2066abe9f2a53 (patch) | |
tree | 6df5a5f1c43b18fd95882aedbb44a7565675c1a4 | |
parent | 7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9 (diff) |
regmap: fix NULL pointer dereference in _regmap_write/read
If LOG_DEVICE is defined and map->dev is NULL it will lead to NULL
pointer dereference. This patch fixes this issue by adding check for
dev->NULL in all such places in regmap.c
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
-rw-r--r-- | drivers/base/regmap/regmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 78f43fb2fe84..b903aff59af3 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c | |||
@@ -1408,7 +1408,7 @@ int _regmap_write(struct regmap *map, unsigned int reg, | |||
1408 | } | 1408 | } |
1409 | 1409 | ||
1410 | #ifdef LOG_DEVICE | 1410 | #ifdef LOG_DEVICE |
1411 | if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) | 1411 | if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
1412 | dev_info(map->dev, "%x <= %x\n", reg, val); | 1412 | dev_info(map->dev, "%x <= %x\n", reg, val); |
1413 | #endif | 1413 | #endif |
1414 | 1414 | ||
@@ -2058,7 +2058,7 @@ static int _regmap_read(struct regmap *map, unsigned int reg, | |||
2058 | ret = map->reg_read(context, reg, val); | 2058 | ret = map->reg_read(context, reg, val); |
2059 | if (ret == 0) { | 2059 | if (ret == 0) { |
2060 | #ifdef LOG_DEVICE | 2060 | #ifdef LOG_DEVICE |
2061 | if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) | 2061 | if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
2062 | dev_info(map->dev, "%x => %x\n", reg, *val); | 2062 | dev_info(map->dev, "%x => %x\n", reg, *val); |
2063 | #endif | 2063 | #endif |
2064 | 2064 | ||