From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751830AbdA3Exs (ORCPT ); Sun, 29 Jan 2017 23:53:48 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:58997 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751281AbdA3Exm (ORCPT ); Sun, 29 Jan 2017 23:53:42 -0500 X-AuditID: b6c32a29-f79336d000001919-59-588ec6b9796a From: Shailendra Verma To: Liam Girdwood , Mark Brown , linux-kernel@vger.kernel.org, p.shailesh@samsung.com, ashish.kalra@samsung.com, Shailendra Verma , Shailendra Verma Subject: [PATCH] Regulator - Fix possible NULL derefrence. Date: Mon, 30 Jan 2017 10:23:07 +0530 Message-id: <1485751987-29397-1-git-send-email-shailendra.v@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprPIsWRmVeSWpSXmKPExsWy7bCmou7OY30RBrdfG1rcn/aN3WLqwyds Ft+udDBZXN41h81ix5RWFotb82ayWSz69orZgd1j56y77B6bVnWyefRtWcXo8XmTXABLFJdN SmpOZllqkb5dAlfGt+cb2QpOcFdcWNnP1sD4iLOLkZNDQsBE4v3umYwQtpjEhXvr2boYuTiE BJYySrzddowRwvnMKLH5wRUmmI7bUy4wg9hCAisZJfq3m4DYbAKGEq/7/jKBNIgI/GOU2PFq HytIQljASmJC8x+wZhYBVYltx+6CreMV8JA4c/kA0CAOoKEKEnMm2UDM38Em8etvAkRYVmLT AWaIsIvEirOroWxhiVfHt7BD2FISJ2c/YAdZKyFwjFHi8fPFTBDOZUaJLaeXQVXZS1y79RrM Zhbgk5jTfZAJYgGvREebEITpIbF0ri5EtaPEqteTGSFejJX4cvMe6wRGyQWMDKsYxVILinPT U4tNCiz1ihNzi0vz0vWS83M3MYKjTUtzB2PfQu9DjAIcjEo8vA829EUIsSaWFVfmHmKU4GBW EuEt3wkU4k1JrKxKLcqPLyrNSS0+xCjNwaIkznurwTpCSCA9sSQ1OzW1ILUIJsvEwSnVwDi9 1y9sF/8KZdHz5ZYtrZsND/3oKO+se6qsb/NqwqO0ZuuwfivvKsW6I0lWZ21OXS5luSnT2uNx TpsxwLHp4Ut55acRWYeWVW/iEV9avLry4/MzRg6fmUt4PJk++8esDfhXUd3m16Op+NN8IkN+ o+yNgiVTtp6U/z43b4PivDVypgbr9104o8RSnJFoqMVcVJwIAEcgFduyAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKLMWRmVeSWpSXmKPExsWSnbNCVXfnsb4Igy0bhC3uT/vGbjH14RM2 i29XOpgsLu+aw2axY0ori8WteTPZLBZ9e8XswO6xc9Zddo9NqzrZPPq2rGL0+LxJLoAlys0m IzUxJbVIITUvOT8lMy/dVik0xE3XQkkhLzE31VYpQtc3JEhJoSwxpxTIMzJAAw7OAe7BSvp2 CW4Z355vZCs4wV1xYWU/WwPjI84uRk4OCQETidtTLjBD2GISF+6tZ+ti5OIQEljOKHHt1AZ2 kASbgKHE676/TCAJEYEWJokdH7cwgSSEBawkJjT/AbNZBFQlth27ywhi8wp4SJy5fABoKgfQ VAWJOZNsJjByLmBkWMUollpQnJueW1xgYKJXnJhbXJqXrpecn7uJERhk2w4rSe5gXLXC6xCj AAejEg+vw66+CCHWxLLiytxDjBIczEoivOU7gUK8KYmVValF+fFFpTmpxYcYTYG2T2SWEk3O B0ZAXkm8oYmphYWFiaWxsbGFiZI4b+z0Z+FCAumJJanZqakFqUUwfUwcnFINjJmb+I6lb6jf 9rL7o9qDhY43092P/r/X9nRLJjPPsT9K+lsP7jJ57HbipRH/bs3gZFa2kv7z4gv6b+4T3pds GiJwhJlH7IXb7eJApz5FjwMz4014pKfOn+t5K1CVne+g/sTTq2WdU+NMGbh+fJcI7DYQKC69 dnaNZ4tEhsOWZ3+VpuUU87qbK7EUZyQaajEXFScCAM/rkWZIAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170130045313epcas4p3c12d9c557946f31fa6a410dfee62424e X-Msg-Generator: CA X-Sender-IP: 182.195.34.25 X-Local-Sender: =?UTF-8?B?U2hhaWxlbmRyYSBWZXJtYRtTUkktTm9pZGEtQ29tbWVyY2lh?= =?UTF-8?B?bCBSJkQgIFN5c3RlbSBTL1cgR3JvdXAb7IK87ISx7KCE7J6QG0xlYWQgRW5n?= =?UTF-8?B?aW5lZXIvQ29ycG9yYXRlIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?U2hhaWxlbmRyYSBWZXJtYRtTUkktTm9pZGEtQ29tbWVyY2lh?= =?UTF-8?B?bCBSJkQgIFN5c3RlbSBTL1cgR3JvdXAbU2Ftc3VuZyBFbGVjdHJvbmljcxtM?= =?UTF-8?B?ZWFkIEVuZ2luZWVyL0NvcnBvcmF0ZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1NXQUhRG0MxMElaMDFJWjAxODEyMA==?= CMS-TYPE: 104P X-HopCount: 7 X-CMS-RootMailID: 20170130045313epcas4p3c12d9c557946f31fa6a410dfee62424e X-RootMTR: 20170130045313epcas4p3c12d9c557946f31fa6a410dfee62424e References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org of_match_device could return NULL, and so can cause a NULL pointer dereference later. Signed-off-by: Shailendra Verma --- drivers/regulator/qcom_rpm-regulator.c | 4 ++++ drivers/regulator/qcom_smd-regulator.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/drivers/regulator/qcom_rpm-regulator.c b/drivers/regulator/qcom_rpm-regulator.c index 1b2acc4..8a03db8 100644 --- a/drivers/regulator/qcom_rpm-regulator.c +++ b/drivers/regulator/qcom_rpm-regulator.c @@ -959,6 +959,10 @@ static int rpm_reg_probe(struct platform_device *pdev) } match = of_match_device(rpm_of_match, &pdev->dev); + if (!match) { + dev_err(&pdev->dev, "Error: No device match found\n"); + return -ENODEV; + } for (reg = match->data; reg->name; reg++) { vreg = devm_kmalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL); if (!vreg) diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c index 8ed46a9..967f2b6 100644 --- a/drivers/regulator/qcom_smd-regulator.c +++ b/drivers/regulator/qcom_smd-regulator.c @@ -468,6 +468,10 @@ static int rpm_reg_probe(struct platform_device *pdev) } match = of_match_device(rpm_of_match, &pdev->dev); + if (!match) { + dev_err(&pdev->dev, "Error: No device match found\n"); + return -ENODEV; + } for (reg = match->data; reg->name; reg++) { vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL); if (!vreg) -- 1.7.9.5