Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp492447imm; Wed, 22 Aug 2018 07:42:37 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYygJenVMmJz7UIJBm3eZKFgfO9TX56iU0ScVGXx6j3fp1+Tz8pFYYQ4CKBCUp528Xck7kJ X-Received: by 2002:a17:902:981:: with SMTP id 1-v6mr4762504pln.229.1534948957096; Wed, 22 Aug 2018 07:42:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534948957; cv=none; d=google.com; s=arc-20160816; b=hsnYoxfsKkdwbGsOYX/LD/tTuX2P1TePWaTrA6g1OjwqkCX+ebBntaTfFBdQMn0dfR 293z+W5ZXWUppQhT/QuzVqpgCXuHlpPQ+McOTa1NVbt6tXgybixWin3dWKqQWp6pAcic ccKCqI84ohaSHU3SgiWJHtIOGCzA8D0Lr35BndPjHyWuM1vOkB5zblynx8oQrhukn0pv gI4UiLt8zywO5Ul+HqooWrACP1qi7tqzIPV1qhS2TmwSXEPxbGS81lgAm3iH7RpD40cv vtuqc0KLA6E3UGuCtmvim82H64xQUtUeiBVcoO6AhESYcZUfJ4WhDR7Aqy+GzYbHsGLx 1Plw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=6IV9AoiOcGACpsMgkjwU9WLrxWWB3wbxKTikzJCMzdM=; b=R/UD12c1lBRVSZHhkSVFAeTMS/UVj/WqwUm4pWa6ELyCzS2OPYBdvlq2ZeCgcW8XyT y1VQqljt319Z/RiduqpIhSTNV2xVtuORixRHBFisAcvH7+TiwaibYoe6dvligVA0P0q0 CXDs+mjXVl6PcMZuXP85Y6Ia3Lb9bQI9NHMTImze9SzjHCDJ72VnzrAszUHLGJb1V/rw 3NPaw70omyBcQdTlVRBqG+/tnpmltnk09UT3jwSFINCCe3HJEjYqu6MBhN93jqKJ8XpG 4UpQ0vSVbcHGokJLZtkvLRzSSiDCmXo2brpFhc2qxecyN8T0IfdTRoAjShhiAupoj/TH bKMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zFbqWFTu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m86-v6si2079762pfj.48.2018.08.22.07.42.21; Wed, 22 Aug 2018 07:42:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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=@kernel.org header.s=default header.b=zFbqWFTu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729118AbeHVSG1 (ORCPT + 99 others); Wed, 22 Aug 2018 14:06:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:44718 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728343AbeHVSG1 (ORCPT ); Wed, 22 Aug 2018 14:06:27 -0400 Received: from mail-qk0-f179.google.com (mail-qk0-f179.google.com [209.85.220.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 651E92147C; Wed, 22 Aug 2018 14:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1534948876; bh=+Ot0mFJBUnPSMzS4p/h67ASbMdzM8m5cWDyiNmWcKC8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=zFbqWFTueKpZ/wRdKTNLn93wzWOt7xm4NJxG8GbYmWt/OmzoDOtwFVgVsW9xSBrck ZMPf9zjibnPv9Z3iE8mBNV7j74TZDM2nz1+++FLJsPQuiCyJDV3etdj87WmJZHJiLh +34ovBTcPokFxn/2sOx58rvifcJz3VQNwehJl64g= Received: by mail-qk0-f179.google.com with SMTP id j7-v6so1326504qkd.13; Wed, 22 Aug 2018 07:41:16 -0700 (PDT) X-Gm-Message-State: AOUpUlG83BnsnsVRwJbHfIpf5cuAmhgftXkd4MhjmeCATmEI/9duT4A8 BnlkCV0d2ScodgTMTbCtx3Prd5I+BFBlO8L+jQ== X-Received: by 2002:a37:169c:: with SMTP id 28-v6mr21659735qkw.184.1534948875622; Wed, 22 Aug 2018 07:41:15 -0700 (PDT) MIME-Version: 1.0 References: <20180822105547.9634-1-johan@kernel.org> <20180822105547.9634-4-johan@kernel.org> In-Reply-To: <20180822105547.9634-4-johan@kernel.org> From: Rob Herring Date: Wed, 22 Aug 2018 09:41:04 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 3/9] drm/msm: fix OF child-node lookup To: Johan Hovold Cc: Greg Kroah-Hartman , Frank Rowand , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , stable , Jordan Crouse , Rob Clark , David Airlie Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 22, 2018 at 5:57 AM Johan Hovold wrote: > > Use the new of_get_compatible_child() helper to lookup the legacy > pwrlevels child node instead of using of_find_compatible_node(), which > searches the entire tree and thus can return an unrelated (i.e. > non-child) node. > > This also addresses a potential use-after-free (e.g. after probe > deferral) as the tree-wide helper drops a reference to its first > argument (i.e. the probed device's node). > > While at it, also fix the related child-node reference leak. > > Fixes: e2af8b6b0ca1 ("drm/msm: gpu: Use OPP tables if we can") > Cc: stable # 4.12 > Cc: Jordan Crouse > Cc: Rob Clark > Cc: David Airlie > Signed-off-by: Johan Hovold > --- > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c > index da1363a0c54d..93d70f4a2154 100644 > --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c > +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c > @@ -633,8 +633,7 @@ static int adreno_get_legacy_pwrlevels(struct device *dev) > struct device_node *child, *node; > int ret; > > - node = of_find_compatible_node(dev->of_node, NULL, > - "qcom,gpu-pwrlevels"); > + node = of_get_compatible_child(dev->of_node, "qcom,gpu-pwrlevels"); Not really your problem, but this is undocumented and a downstream binding. There's been OPP support in addition for more than a year now, we should just remove this code IMO. For some reason though, no one updated the 8064 dts though. Rob