| From 5336be8416a71b5568d2cf54a2f2066abe9f2a53 Mon Sep 17 00:00:00 2001 |
| From: Pankaj Dubey <pankaj.dubey@samsung.com> |
| Date: Sat, 27 Sep 2014 09:47:55 +0530 |
| Subject: regmap: fix NULL pointer dereference in _regmap_write/read |
| |
| From: Pankaj Dubey <pankaj.dubey@samsung.com> |
| |
| commit 5336be8416a71b5568d2cf54a2f2066abe9f2a53 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/base/regmap/regmap.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/base/regmap/regmap.c |
| +++ b/drivers/base/regmap/regmap.c |
| @@ -1177,7 +1177,7 @@ int _regmap_write(struct regmap *map, un |
| } |
| |
| #ifdef LOG_DEVICE |
| - if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
| + if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
| dev_info(map->dev, "%x <= %x\n", reg, val); |
| #endif |
| |
| @@ -1437,7 +1437,7 @@ static int _regmap_read(struct regmap *m |
| ret = map->reg_read(context, reg, val); |
| if (ret == 0) { |
| #ifdef LOG_DEVICE |
| - if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
| + if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0) |
| dev_info(map->dev, "%x => %x\n", reg, *val); |
| #endif |
| |