| From c6df843348d6b71ea986266c12831cb60c2cf325 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan+linaro@kernel.org> |
| Date: Fri, 6 Oct 2023 10:21:04 +0200 |
| Subject: regmap: fix NULL deref on lookup |
| |
| From: Johan Hovold <johan+linaro@kernel.org> |
| |
| commit c6df843348d6b71ea986266c12831cb60c2cf325 upstream. |
| |
| Not all regmaps have a name so make sure to check for that to avoid |
| dereferencing a NULL pointer when dev_get_regmap() is used to lookup a |
| named regmap. |
| |
| Fixes: e84861fec32d ("regmap: dev_get_regmap_match(): fix string comparison") |
| Cc: stable@vger.kernel.org # 5.8 |
| Cc: Marc Kleine-Budde <mkl@pengutronix.de> |
| Signed-off-by: Johan Hovold <johan+linaro@kernel.org> |
| Link: https://lore.kernel.org/r/20231006082104.16707-1-johan+linaro@kernel.org |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/base/regmap/regmap.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/base/regmap/regmap.c |
| +++ b/drivers/base/regmap/regmap.c |
| @@ -1572,7 +1572,7 @@ static int dev_get_regmap_match(struct d |
| |
| /* If the user didn't specify a name match any */ |
| if (data) |
| - return !strcmp((*r)->name, data); |
| + return (*r)->name && !strcmp((*r)->name, data); |
| else |
| return 1; |
| } |