Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1537714

[PATCH] extcon: palmas: Fail gracefully if invalid configuration

From Roger Quadros <rogerq@ti.com>
Newsgroups linux.kernel
Subject [PATCH] extcon: palmas: Fail gracefully if invalid configuration
Date 2016-12-07 13:20 +0100
Message-ID <sLJmx-8sl-11@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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>
---
 drivers/extcon/extcon-palmas.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
index 634ba70..ec987ab 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, "device has invalid parent\n");
+		return -EINVAL;
+	}
+
 	palmas_usb = devm_kzalloc(&pdev->dev, sizeof(*palmas_usb), GFP_KERNEL);
 	if (!palmas_usb)
 		return -ENOMEM;
-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] extcon: palmas: Fail gracefully if invalid configuration Roger Quadros <rogerq@ti.com> - 2016-12-07 13:20 +0100
  Re: [PATCH] extcon: palmas: Fail gracefully if invalid configuration Chanwoo Choi <cw00.choi@samsung.com> - 2016-12-07 13:50 +0100
    Re: [PATCH] extcon: palmas: Fail gracefully if invalid configuration Roger Quadros <rogerq@ti.com> - 2016-12-08 09:30 +0100
  [PATCH v2] extcon: palmas: Check the parent instance to prevent the  NULL Roger Quadros <rogerq@ti.com> - 2016-12-08 09:50 +0100

csiph-web