extcon: palmas: Check the parent instance to prevent the NULL
authorRoger Quadros <rogerq@ti.com>
Thu, 8 Dec 2016 08:45:31 +0000 (10:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 21 Nov 2017 08:23:21 +0000 (09:23 +0100)
[ Upstream commit 9fe172b9be532acc23e35ba693700383ab775e66 ]

extcon-palmas must be child of palmas and expects parent's
drvdata to be valid. Check for non NULL parent drvdata and
fail if it is NULL. Not doing so will result in a NULL
pointer dereference later in the probe() parent drvdata
is NULL (e.g. misplaced extcon-palmas node in device tree).

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/extcon/extcon-palmas.c

index 634ba70782de9c92f256e9e5cdd535f71dd642f2..a128fd2eb187b6c42d9282b07b9289b417241b41 100644 (file)
@@ -190,6 +190,11 @@ static int palmas_usb_probe(struct platform_device *pdev)
        struct palmas_usb *palmas_usb;
        int status;
 
+       if (!palmas) {
+               dev_err(&pdev->dev, "failed to get valid parent\n");
+               return -EINVAL;
+       }
+
        palmas_usb = devm_kzalloc(&pdev->dev, sizeof(*palmas_usb), GFP_KERNEL);
        if (!palmas_usb)
                return -ENOMEM;