From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934131AbdA0LRh (ORCPT ); Fri, 27 Jan 2017 06:17:37 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:41969 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934017AbdA0LRb (ORCPT ); Fri, 27 Jan 2017 06:17:31 -0500 X-AuditID: b6c32a35-f79166d000001a4b-26-588b2c26d941 From: Shailendra Verma To: Lee Jones , linux-kernel@vger.kernel.org, p.shailesh@samsung.com, ashish.kalra@samsung.com, Shailendra Verma , Shailendra Verma Subject: [PATCH] Mfd - Fix possible NULL derefrence. Date: Fri, 27 Jan 2017 16:46:45 +0530 Message-id: <1485515805-3598-1-git-send-email-shailendra.v@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprDIsWRmVeSWpSXmKPExsWy7bCmnq66TneEwf3PjBb3p31jt7j/9Sij xeVdc9gsdkxpZbG4NW8mm8Wib6+YHdg8ds66y+5x59oeNo++LasYPT5vkgtgieKySUnNySxL LdK3S+DK2PrtJ2PBYu6K60diGhhXcnYxcnJICJhIvF0+jRXCFpO4cG89WxcjF4eQwA5GiS3v ZrFAOJ8ZJfZu+8kG07F4z3aoxEpGiTOz1rKAJNgEDCVe9/1lAkmICNxilNi3/zkTSEIYqGPH 76VgNouAqsS+1w1g+3gF3CU+bt4IZHMATVWQmDPJBqRXQmADm8TK2+/YIeKyEpsOMEMsdpG4 8PcxI4QtLPHq+BZ2CFtKovnjB1aI3mOMEo+fL2aCcC4D/XB6GVSVvcS1W6/BbGYBPol3X3ug FvNKdLQJQZR4SOx99hVqmaPE9tPvwT4WEoiVWHD7I+MERskFjAyrGMVSC4pz01OLDQsM9YoT c4tL89L1kvNzNzGC40zLdAfjlHM+hxgFOBiVeHgj5LsihFgTy4orcw8xSnAwK4nw6op1Rwjx piRWVqUW5ccXleakFh9ilOZgURLnXdxoHSEkkJ5YkpqdmlqQWgSTZeLglGpgzA82z7787OzP +Mtvt/Ry7Ft/49WhhROL65/GrwzoXBZwecmMleH6SmH2W59LBbWf0mJZMW+v6eQffw2Ypu52 aFdI5bjhsjPAvSYgwERc9WrwAbdw/b6Nx+Y9ZpLrktrVy7Jnau2s1XNyfDUyz9gusmVs3LnA 5sWGF/017fMm1ZwzuMPILtd5UImlOCPRUIu5qDgRAH9Mbu2vAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPLMWRmVeSWpSXmKPExsWSnbNCVVdNpzvCYOJRPYv7076xW9z/epTR 4vKuOWwWO6a0sljcmjeTzWLRt1fMDmweO2fdZfe4c20Pm0ffllWMHp83yQWwRLnZZKQmpqQW KaTmJeenZOal2yqFhrjpWigp5CXmptoqRej6hgQpKZQl5pQCeUYGaMDBOcA9WEnfLsEtY+u3 n4wFi7krrh+JaWBcydnFyMkhIWAisXjPdhYIW0ziwr31bF2MXBxCAssZJa49n8MOkmATMJR4 3feXCSQhInCPUWLpqhVMIAlhoO4dv5eC2SwCqhL7Xjewgti8Au4SHzdvBLI5gKYqSMyZZDOB kXMBI8MqRrHUguLc9NziAgNDveLE3OLSvHS95PzcTYzAwNp2WElsB2PbCq9DjAIcjEo8vAns 3RFCrIllxZW5hxglOJiVRHh1xYBCvCmJlVWpRfnxRaU5qcWHGE2Btk9klhJNzgcGfV5JvKGJ qYWFhYmlsbGxhYmSOG/s9GfhQgLpiSWp2ampBalFMH1MHJxSDYzyRxbO3muvmKs/Xai5dMPN f/mqLw9x3RDKXrrH+Y5U2FbfJH7rgPL/n5dlnN6zf9K5p/xL3733/Za2/8+hH1v8xP41OC5P bZ62Oe7fhOfbsg4w3vhw6GJKus6Lhl/TN21kmhzEK3LfJ+JHRX+YrL7RTt9ndcu2bAhzmXP4 XWjj8tdNs5pzj8XdVWIpzkg01GIuKk4EAFBgdulCAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170127111654epcas1p34aa51a351ad04a35b68a1fc88438fc27 X-Msg-Generator: CA X-Sender-IP: 182.195.34.22 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: 101P X-HopCount: 7 X-CMS-RootMailID: 20170127111654epcas1p34aa51a351ad04a35b68a1fc88438fc27 X-RootMTR: 20170127111654epcas1p34aa51a351ad04a35b68a1fc88438fc27 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/mfd/mc13xxx-i2c.c | 4 ++++ drivers/mfd/mc13xxx-spi.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/mc13xxx-i2c.c b/drivers/mfd/mc13xxx-i2c.c index 67e4c9a..e03f454 100644 --- a/drivers/mfd/mc13xxx-i2c.c +++ b/drivers/mfd/mc13xxx-i2c.c @@ -80,6 +80,10 @@ static int mc13xxx_i2c_probe(struct i2c_client *client, if (client->dev.of_node) { const struct of_device_id *of_id = of_match_device(mc13xxx_dt_ids, &client->dev); + if (!of_id) { + dev_err(&client->dev, "Error: No device match found\n"); + return -ENODEV; + } mc13xxx->variant = of_id->data; } else { mc13xxx->variant = (void *)id->driver_data; diff --git a/drivers/mfd/mc13xxx-spi.c b/drivers/mfd/mc13xxx-spi.c index cbc1e5e..97ab19c 100644 --- a/drivers/mfd/mc13xxx-spi.c +++ b/drivers/mfd/mc13xxx-spi.c @@ -157,7 +157,10 @@ static int mc13xxx_spi_probe(struct spi_device *spi) if (spi->dev.of_node) { const struct of_device_id *of_id = of_match_device(mc13xxx_dt_ids, &spi->dev); + if (!of_id) { + dev_err(&spi->dev, "Error: No device match found\n"); + return -ENODEV; + } mc13xxx->variant = of_id->data; } else { const struct spi_device_id *id_entry = spi_get_device_id(spi); -- 1.7.9.5