From patchwork Tue Jul 17 08:08:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Pundir X-Patchwork-Id: 142112 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp3359751ljj; Tue, 17 Jul 2018 01:08:45 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdJ6VPLP7eGlgECl5cKSK/XlGfGyLb6A1IvM0tN+mxh6uye3BlBqDXNgKTN77Fc4f146ZOu X-Received: by 2002:a63:5d09:: with SMTP id r9-v6mr578530pgb.303.1531814925717; Tue, 17 Jul 2018 01:08:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531814925; cv=none; d=google.com; s=arc-20160816; b=dawSsPJjE8GwTB8/OBa96eX+O1MkN7z5C7Q+0dxrjkmpSBwkzrGvgRCwvvULw9Ki7R MFMeatLbGC8peCmMCpQhzoIGqTQADQUIXwM+oMi3494QVQ0bWtlPhpbKWwmpTWC/KkpV ZG0oqJfiiV0rHlQlDY0F0Un35h8vdwggcKhGYIY/pwbo0g3mOOjadhb0kkxeB3lHf/oC mWiXJXm/sCQlvhPhpOdFnY8tij0lLK9YrqIPsgglwZxwTeyhrTjbqz836ahq+LjgyppY 7JVoyglANlrx9S9AgUR6qfcCRkXBfOsLbzcyHduS5zZVCW4nsYFZdO46IH21CxwdXvsi D2oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=f+wktuiXwMxTwX3SeLknLYOMnDUJyVZk9bfPE+u2HUE=; b=qlbSxH3Ba8D8BIWdx9hiJneKUW4QCw/JjtS4O/MIU4avsb6J4otSlPwJGEx4tEGDfn jZzOhF49xI+opCpTDaJLaJ0RFhVdvwVb7B14V51gx0gtg+Tjg+v8BEOOKIRE9V+/0LHL I5g9yPOOwyZjstDCpqYmq445AyJLon1cKG29RQrufiMfqHiEFmicLt2YsVAXs0BnwERW v1ZFZD+tHlFbBBwNs0OdKxOqtotqso5eNPbeJcJ0MnVwAxo6rKM024M69BzI+eAJZfUW IUSi3HpxMxtOn0gWP2k2gfXNjtCDBnwZ3kc2hsoFW60+m5wkFf8MCy76AvDR+gKA3C31 R0Yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iesbWB+n; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j1-v6si309442pll.493.2018.07.17.01.08.45; Tue, 17 Jul 2018 01:08:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iesbWB+n; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727796AbeGQIkG (ORCPT + 13 others); Tue, 17 Jul 2018 04:40:06 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:46713 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726819AbeGQIkG (ORCPT ); Tue, 17 Jul 2018 04:40:06 -0400 Received: by mail-pl0-f65.google.com with SMTP id 30-v6so111538pld.13 for ; Tue, 17 Jul 2018 01:08:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=f+wktuiXwMxTwX3SeLknLYOMnDUJyVZk9bfPE+u2HUE=; b=iesbWB+nSut5OLzMYR0qo8zcV+rHPqqJPfzRyX101x7v/Qpt4bn+OiuTWxPzkpzHoY zjMTTfGF7K1KK3X2m6oL8rcf9CMVwVC6SSmbNWg6amonPtTnMUqqV3K6gmZT2oD0niEi 8bEQOmwop/cqX/4g267LyGbaSpfcvFZviKQWo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=f+wktuiXwMxTwX3SeLknLYOMnDUJyVZk9bfPE+u2HUE=; b=A6kflT9yJv6yk0ZyHTN1W9PeJpwWNDk3Tt5iWELa1+Y1+VeRyQybFfjRQXfqQl46W3 kwJkxyDWSWlXy+vgaAoVJEO6RpFOIA7S/EjJlXmlC6C5qOz/dbykOMs6F9cBZwhdeUSg tvbdSkP2uVJFym+wBwJSnI8BcQ7iuY0xfO1l3dbMkEGcjWYz+bq+qaC17yVuSrGmK66N Eg60o0FpredDXT8OngvVl7kcUBud9G9lmW3pWQ00+QZvgINIHYgW3wZwsvUDJArjTAtb 65ilUrBFaj/W9D963MGxRH0nXwH33nrHJFdjxQd/SGcwL9uKQudmerlZmV3Ha6Jf+/je y+1Q== X-Gm-Message-State: AOUpUlF6TlrkUVhEoL1OiPakyHL7Q6qlnUxDnnyO55ua+EJHN91CV9B1 sqLnnmtCgDzOnuxU1mraxcGWMA== X-Received: by 2002:a17:902:381:: with SMTP id d1-v6mr606658pld.309.1531814924179; Tue, 17 Jul 2018 01:08:44 -0700 (PDT) Received: from localhost.localdomain ([106.51.22.240]) by smtp.gmail.com with ESMTPSA id c85-v6sm2205083pfd.110.2018.07.17.01.08.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 01:08:43 -0700 (PDT) From: Amit Pundir To: Greg KH , Stable Cc: Jaehoon Chung , Lorenzo Pieralisi Subject: [PATCH for-4.14.y 1/5] PCI: exynos: Fix a potential init_clk_resources NULL pointer dereference Date: Tue, 17 Jul 2018 13:38:30 +0530 Message-Id: <1531814914-19191-2-git-send-email-amit.pundir@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531814914-19191-1-git-send-email-amit.pundir@linaro.org> References: <1531814914-19191-1-git-send-email-amit.pundir@linaro.org> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jaehoon Chung commit b5d6bc90c9129279d363ccbc02ad11e7b657c0b4 upstream. In order to avoid triggering a NULL pointer dereference in exynos_pcie_probe() a check must be put in place to detect if the init_clk_resources hook is initialized before calling it. Add the respective function pointer check in exynos_pcie_probe(). Signed-off-by: Jaehoon Chung [lorenzo.pieralisi@arm.com: rewrote the commit log] Signed-off-by: Lorenzo Pieralisi Signed-off-by: Amit Pundir --- Cherry-picked from lede tree https://git.lede-project.org/?p=source.git drivers/pci/dwc/pci-exynos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/pci/dwc/pci-exynos.c b/drivers/pci/dwc/pci-exynos.c index 5596fdedbb94..ea03f1ec12a4 100644 --- a/drivers/pci/dwc/pci-exynos.c +++ b/drivers/pci/dwc/pci-exynos.c @@ -695,7 +695,8 @@ static int __init exynos_pcie_probe(struct platform_device *pdev) return ret; } - if (ep->ops && ep->ops->get_clk_resources) { + if (ep->ops && ep->ops->get_clk_resources && + ep->ops->init_clk_resources) { ret = ep->ops->get_clk_resources(ep); if (ret) return ret;