coresight: checking for NULL string in coresight_name_match()
authorMathieu Poirier <mathieu.poirier@linaro.org>
Thu, 17 Dec 2015 15:47:02 +0000 (08:47 -0700)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Wed, 1 Jun 2016 21:29:58 +0000 (15:29 -0600)
Connection child names associated to ports can sometimes be NULL,
which is the case when booting a system on QEMU or when the Coresight
power domain isn't switched on.

This patch is adding a check to make sure a NULL string isn't fed
to strcmp(), something that avoid crashing the system.

Cc: <stable@vger.kernel.org> # v3.18+
Reported-by: Tyler Baker <tyler.baker@linaro.org>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit fadf3a44e974b030e7145218ad1ab25e3ef91738)

drivers/hwtracing/coresight/coresight.c

index e25492137d8bec86a5ff406ff1025724df095fbd..93738dfbf6313ea09f9f970ce463ec8374b4f661 100644 (file)
@@ -548,7 +548,7 @@ static int coresight_name_match(struct device *dev, void *data)
        to_match = data;
        i_csdev = to_coresight_device(dev);
 
-       if (!strcmp(to_match, dev_name(&i_csdev->dev)))
+       if (to_match && !strcmp(to_match, dev_name(&i_csdev->dev)))
                return 1;
 
        return 0;