Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755439AbdCGKyl (ORCPT ); Tue, 7 Mar 2017 05:54:41 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:47847 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754822AbdCGKyL (ORCPT ); Tue, 7 Mar 2017 05:54:11 -0500 X-AuditID: b6c32a59-f79736d000001328-1a-58be914f5d63 From: Jaehoon Chung To: linux-pci@vger.kernel.org Cc: linux-kernel@vger.kernel.org, helgaas@kernel.org, jingoohan1@gmail.com, Jaehoon Chung Subject: [PATCH] PCI: exynos: fix the NULL pointer dereference about elbi_base Date: Tue, 07 Mar 2017 19:54:05 +0900 Message-id: <20170307105405.7874-1-jh80.chung@samsung.com> X-Mailer: git-send-email 2.10.2 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCKsWRmVeSWpSXmKPExsWy7bCmpq7/xH0RBscuqFu8OrOWzeLGrzZW ixVfZrJbXN41h83i7LzjbA6sHjtn3WX32LSqk82jb8sqRo/Pm+QCWKJSbTJSE1NSixRS85Lz UzLz0m2VvIPjneNNzQwMdQ0tLcyVFPISc1NtlVx8AnTdMnOA9ioplCXmlAKFAhKLi5X07WyK 8ktLUhUy8otLbJWiDQ2N9AwNzPWMjIz0TIxjrYxMgUoSUjPuNs5mLLjNVfH/3nq2BsY/HF2M nBwSAiYSW16+YYKwxSQuAOVAbCGBpYwSN3ttuxi5gOx2JomHG1czwzQ8fPqPCSKxnFFi6/Ve FgjnB6PE/79TwEaxCehIbP92HMwWEZCV+Hh5D9hYZoESiQn/t4HZwgIBEm9m3gWbyiKgKnH/ ykEWEJtXwEpi6oLtUCfJSyw8fwRsm4TAATaJy7M+sHcxcgA5shKbDkBd5CJx4eFFRghbWOLV 8S3sELa0xN+ltxghetsZJW792McG4XQwShz8uZcVospY4v6De8wQ1/FJ9P5+wgSxgFeio00I osRDYsGzGVALHCWO/f7IBlIiJBAr0XtWfwKj9AJGhlWMYqkFxbnpqcWmBaZ6xYm5xaV56XrJ +bmbGMEpRCtyB+OVmUGHGAU4GJV4eCUO7Y0QYk0sK67MPcQowcGsJMIb1r0vQog3JbGyKrUo P76oNCe1+BCjKTBoJjJLiSbnA9NbXkm8oYmZoYmRJRCaG5orifNGGUyMEBJITyxJzU5NLUgt gulj4uCUamDs3SyjuYVT/tS6VYeerTxUprmSScH2/eNNn913/uYUy9rRGMLQUHCwYLenOWvn xbyzgruWNkYFB0ybX1QUw8Az8wMbVwbH/omC96/s/SOwXeZnKN/XvC9crJLXJDSZt/s8jei+ +ZxjwYO5fn4xNVov9v3hfPPH2n7dDuvu1mMTXTS4/jV+OeygxFKckWioxVxUnAgAlikCzjcD AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrGLMWRmVeSWpSXmKPExsVy+t9jAV3/ifsiDPbOFrN4dWYtm8WNX22s Fiu+zGS3uLxrDpvF2XnH2RxYPXbOusvusWlVJ5tH35ZVjB6fN8kFsES52WSkJqakFimk5iXn p2TmpdsqhYa46VooKeQl5qbaKkXo+oYEKSmUJeaUAnlGBmjAwTnAPVhJ3y7BLeNu42zGgttc Ff/vrWdrYPzD0cXIySEhYCLx8Ok/JghbTOICUK6LkYtDSGApo8T6vxOZIJwfjBI9f+Yxg1Sx CehIbP92HKxDREBW4uPlPWwgNrNAicSBT1PA4sICfhI/nrxlAbFZBFQl7l85CGbzClhJTF2w HWqbvMTC80eYJjByL2BkWMUokVqQXFCclJ5rlJdarlecmFtcmpeul5yfu4kRHIbPpHcwHt7l fohRgINRiYc3IXtvhBBrYllxZe4hRgkOZiUR3rDufRFCvCmJlVWpRfnxRaU5qcWHGE2BDpjI LCWanA+MkbySeEMTcxNzYwMLc0tLEyMlcd7G2c/ChQTSE0tSs1NTC1KLYPqYODilGhgP5Kan H//XVqGe9UavNzChi+ftIZ01K+6bPJPL5IjsOSmducRIdjFQVo9j3xL7yc6X1I8vdOYQjD29 eIFRde3yX+viTl68fHbXqVDRT3Mmy/Ip/PkZsGrx/kN/N19Z7n3PLmv/mQ+CG1cXrF51QmXR Qt+eKPXjlt9nZG2cbPjj6a+Azz+d199QYinOSDTUYi4qTgQAsUw9rVkCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170307105407epcas5p3e77181793b26a5d2710bb6d7557033bb X-Msg-Generator: CA X-Sender-IP: 203.254.230.27 X-Local-Sender: =?UTF-8?B?7KCV7J6s7ZuIG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?SmFlaG9vbiBDaHVuZxtUaXplbiBQbGF0Zm9ybSBMYWIuG1Nh?= =?UTF-8?B?bXN1bmcgRWxlY3Ryb25pY3MbU2VuaW9yIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG1NUQUYbQzEwVjgxMTE=?= CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20170307105407epcas5p3e77181793b26a5d2710bb6d7557033bb X-RootMTR: 20170307105407epcas5p3e77181793b26a5d2710bb6d7557033bb References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1331 Lines: 38 Even though using phy framework, it has to get the elbi_base. Before this patch, elbi_base should be NULL pointer. Fixes: e7cd7ef58e1f ("PCI: exynos: Support the PHY generic framework") Signed-off-by: Jaehoon Chung --- drivers/pci/dwc/pci-exynos.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pci/dwc/pci-exynos.c b/drivers/pci/dwc/pci-exynos.c index 993b650..44f774c 100644 --- a/drivers/pci/dwc/pci-exynos.c +++ b/drivers/pci/dwc/pci-exynos.c @@ -132,10 +132,6 @@ static int exynos5440_pcie_get_mem_resources(struct platform_device *pdev, struct device *dev = pci->dev; struct resource *res; - /* If using the PHY framework, doesn't need to get other resource */ - if (ep->using_phy) - return 0; - ep->mem_res = devm_kzalloc(dev, sizeof(*ep->mem_res), GFP_KERNEL); if (!ep->mem_res) return -ENOMEM; @@ -145,6 +141,10 @@ static int exynos5440_pcie_get_mem_resources(struct platform_device *pdev, if (IS_ERR(ep->mem_res->elbi_base)) return PTR_ERR(ep->mem_res->elbi_base); + /* If using the PHY framework, doesn't need to get other resource */ + if (ep->using_phy) + return 0; + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); ep->mem_res->phy_base = devm_ioremap_resource(dev, res); if (IS_ERR(ep->mem_res->phy_base)) -- 2.10.2