Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934384AbbEMDSW (ORCPT ); Tue, 12 May 2015 23:18:22 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:37951 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934004AbbEMDSQ (ORCPT ); Tue, 12 May 2015 23:18:16 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-8b-5552c275103a From: Krzysztof Kozlowski To: Kukjin Kim , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , stable@vger.kernel.org Subject: [PATCH] ARM: EXYNOS: Fix dereference of ERR_PTR returned by of_genpd_get_from_provider Date: Wed, 13 May 2015 12:17:52 +0900 Message-id: <1431487072-17567-1-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIJMWRmVeSWpSXmKPExsVy+t/xa7qlh4JCDf50yVu8fmFo0f/4NbPF psfXWC0u75rDZjHj/D4miwUbHzE6sHlsWtXJ5rF5Sb1H35ZVjB6fN8kFsERx2aSk5mSWpRbp 2yVwZXS/+MNccIe74t+jvywNjPc5uxg5OSQETCRe3VjFCmGLSVy4t56ti5GLQ0hgKaPE262r mSCc/4wSj44+ZwGpYhMwlti8fAlYlYhAF6PErC2/2UASzAKeEu/+PmQHsYUFEiUe/b/FDGKz CKhKrH3ykRHE5hVwl5j/voUJYp2cxMljk1knMHIvYGRYxSiaWppcUJyUnmuoV5yYW1yal66X nJ+7iRESEF92MC4+ZnWIUYCDUYmHd8bbwFAh1sSy4srcQ4wSHMxKIrw5E4JChXhTEiurUovy 44tKc1KLDzFKc7AoifPO3fU+REggPbEkNTs1tSC1CCbLxMEp1cAoZhhbVj5RxF3wnqxogJre Vc9eGQmX4v5rHJd8rrr+2XXvyx7v7SsYL3+uDjn4Y1ts6Ueb2X7+NhcbSia5iFSonLhz7XJF nWC636xH2+5FXjiV1sOx5GnuBcYX4VNu59yaZjZvh9Inc+bzOu23JebutqhVeJHRlvNe6POW WyE/zxy3n79t0s5eJZbijERDLeai4kQA8/6qQwQCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1698 Lines: 52 ERR_PTR was dereferenced during sub domain parsing, if parent domain could not be obtained (because of invalid phandle or deferred registration of parent domain). The Exynos power domain code checked whether of_genpd_get_from_provider() returned NULL and in that case it skipped that power domain node. However this function returns ERR_PTR or valid pointer, not NULL. Signed-off-by: Krzysztof Kozlowski Cc: Fixes: 0f7807518fe1 ("ARM: EXYNOS: add support for sub-power domains") --- The patchset is rebased on top of my fixes for pm_domains.c to avoid the conflicts: https://lkml.org/lkml/2015/3/27/321 --- arch/arm/mach-exynos/pm_domains.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index 1a90c5da2fd7..440324c94d28 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c @@ -209,7 +209,7 @@ no_clk: args.np = np; args.args_count = 0; child_domain = of_genpd_get_from_provider(&args); - if (!child_domain) + if (IS_ERR(child_domain)) goto next_pd; if (of_parse_phandle_with_args(np, "power-domains", @@ -217,7 +217,7 @@ no_clk: goto next_pd; parent_domain = of_genpd_get_from_provider(&args); - if (!parent_domain) + if (IS_ERR(parent_domain)) goto next_pd; if (pm_genpd_add_subdomain(parent_domain, child_domain)) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/