]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
regmap: fix NULL deref on lookup
authorJohan Hovold <johan+linaro@kernel.org>
Fri, 6 Oct 2023 08:21:04 +0000 (10:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 09:13:31 +0000 (11:13 +0200)
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

index 1c5ff22d92f1947b1659ba00b4984f285fef1aac..a28e9e2111b464ddcbb238c94014f7f063bef29f 100644 (file)
@@ -1242,7 +1242,7 @@ static int dev_get_regmap_match(struct device *dev, void *res, void *data)
 
        /* 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;
 }