diff options
author | Roger Quadros <rogerq@ti.com> | 2016-12-08 10:45:31 +0200 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2017-01-09 10:04:09 +0900 |
commit | 9fe172b9be532acc23e35ba693700383ab775e66 (patch) | |
tree | 1379a62ed222e59d512a3bc7597dba3034eebdd1 /drivers/extcon | |
parent | af57fa4de24654aa4b2ee648dcd14a3e31bce3a6 (diff) | |
download | op-kernel-dev-9fe172b9be532acc23e35ba693700383ab775e66.zip op-kernel-dev-9fe172b9be532acc23e35ba693700383ab775e66.tar.gz |
extcon: palmas: Check the parent instance to prevent the NULL
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>
Diffstat (limited to 'drivers/extcon')
-rw-r--r-- | drivers/extcon/extcon-palmas.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c index 634ba70..a128fd2 100644 --- a/drivers/extcon/extcon-palmas.c +++ b/drivers/extcon/extcon-palmas.c @@ -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; |