Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp892806imm; Wed, 22 Aug 2018 14:38:21 -0700 (PDT) X-Google-Smtp-Source: ANB0VdboSwTLcTfaIUx75ES43nU7sDjB36PrOqVXuzRQUddefIyTFTRilMd1pmXyEMscuL1IjmKK X-Received: by 2002:a63:e355:: with SMTP id o21-v6mr1193521pgj.251.1534973901317; Wed, 22 Aug 2018 14:38:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534973901; cv=none; d=google.com; s=arc-20160816; b=y6QUmmifA5LprzNEMZvifNcds4S8bdKidLfFZN8RRcmHJlBM97JxD0gvF1XufRBz+9 RBlTC9ltvy+x8NUhH6Ux3c9Q9cAZTHUYeH579yjzaGxnwa6oIR1abqrCWGvuZBKu1nxk hM3AkK+VnhVJC7hAvTKhEn90zUSPtLBF9gSVUxu4B+VfRF69NVth6KvowIKR7S1M5L+t xinQ0odBYw1/y7bWfo9PJ4Cc+0iILvsR/qk43wiBWMoPA4L/uve7c1K/NNqa3WueVehE wfct6JM8mpcc4STkXoQqlRVb688vrl9J9i8DUmyCxoBI6X3EHOGTNzB3s9sgSKCwxNNT e23Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=Q8w0b15Ru99zgE+E1h9nsuq6hI3/GZ/N3koTaaA+Tvo=; b=yAyzeEvw6UbcXkvN5pzf2Ms0l4It9kuBOHSNhtmrnyu10G3iteDnLQIVyNgWQhaZSg Ix2c7vE3RTeb4U+ky0QsWxn9ltZjmth9aRBcEROV/oyAXx9a+xUn591OHAteqf1V3Lg3 YcHzeR3zlBosvQeTIsiuedJtZm14LqVNbB/PqBu/nELTgzntRLELlx32jOEIZqM5WVYx D+7BNhrNKbcJ8DAwYAx4Mieg49+wlSwG7l4a68nIG93H2L0bk7+ku9mz7bXXRHVdzDb6 sGvA2LKy/lA9p2zZiyQRaHdt0/xcEPyFjezNbdYa6zB7GbprmevDxbQ+oIOg7my82ILl O6NA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sgmgXF6n; 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 i13-v6si2473984pgq.426.2018.08.22.14.38.06; Wed, 22 Aug 2018 14:38:21 -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=sgmgXF6n; 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 S1727719AbeHWBDh (ORCPT + 99 others); Wed, 22 Aug 2018 21:03:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:34440 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727031AbeHWBDh (ORCPT ); Wed, 22 Aug 2018 21:03:37 -0400 Received: from mail.kernel.org (unknown [185.216.33.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CAD80208D4; Wed, 22 Aug 2018 21:37:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1534973821; bh=uc0ccGUfBRxxy0X9RNJsScO+mgwaSluUvUUU51ZW2KU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sgmgXF6nFM9FQrOaHVdVp1271a0+Uk/cErmBWdg7fzFeHmgBhmHIPvjbYZkXdg9T9 l5Cqqp2ymbKEFu6drVBD0MFLEUr27yc54NZ2zGwx+gUDOMJx98sz2onD1OephPcoIu 9XdOrqMOAr9o+NJLLt7RjYXCwVY7tIY+Z2x/7vXI= Date: Wed, 22 Aug 2018 23:36:58 +0200 From: Sebastian Reichel To: Johan Hovold Cc: Rob Herring , Greg Kroah-Hartman , Frank Rowand , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, stable , NeilBrown , Felipe Balbi Subject: Re: [PATCH 9/9] power: supply: twl4030-charger: fix OF sibling-node lookup Message-ID: <20180822213658.uuzsalnlxbayc4ml@earth.universe> References: <20180822105547.9634-1-johan@kernel.org> <20180822105547.9634-10-johan@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="kfx3tqsq374xuhtg" Content-Disposition: inline In-Reply-To: <20180822105547.9634-10-johan@kernel.org> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --kfx3tqsq374xuhtg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Wed, Aug 22, 2018 at 12:55:47PM +0200, Johan Hovold wrote: > Use the new of_get_compatible_child() helper to lookup the usb sibling > node instead of using of_find_compatible_node(), which searches the > entire tree and thus can return an unrelated (non-sibling) node. >=20 > 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 parent device node). >=20 > While at it, also fix the related phy-node reference leak. >=20 > Fixes: f5e4edb8c888 ("power: twl4030_charger: find associated phy by more= reliable means.") > Cc: stable # 4.2 > Cc: NeilBrown > Cc: Felipe Balbi > Cc: Sebastian Reichel > Signed-off-by: Johan Hovold > --- Reviewed-by: Sebastian Reichel -- Sebastian > drivers/power/supply/twl4030_charger.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) >=20 > diff --git a/drivers/power/supply/twl4030_charger.c b/drivers/power/suppl= y/twl4030_charger.c > index bbcaee56db9d..b6a7d9f74cf3 100644 > --- a/drivers/power/supply/twl4030_charger.c > +++ b/drivers/power/supply/twl4030_charger.c > @@ -996,12 +996,13 @@ static int twl4030_bci_probe(struct platform_device= *pdev) > if (bci->dev->of_node) { > struct device_node *phynode; > =20 > - phynode =3D of_find_compatible_node(bci->dev->of_node->parent, > - NULL, "ti,twl4030-usb"); > + phynode =3D of_get_compatible_child(bci->dev->of_node->parent, > + "ti,twl4030-usb"); > if (phynode) { > bci->usb_nb.notifier_call =3D twl4030_bci_usb_ncb; > bci->transceiver =3D devm_usb_get_phy_by_node( > bci->dev, phynode, &bci->usb_nb); > + of_node_put(phynode); > if (IS_ERR(bci->transceiver)) { > ret =3D PTR_ERR(bci->transceiver); > if (ret =3D=3D -EPROBE_DEFER) > --=20 > 2.18.0 >=20 --kfx3tqsq374xuhtg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAlt913cACgkQ2O7X88g7 +pqSrhAAgJWkbj4ZZr0TfSV4uMcPbTetTFIezbONmXZrVGme1CcgxsR7F36fJT+M JSSj5+MyASYbc7O9eLRThkq3t05SHu7jf9WdV8pwEgHdHLJPGalIrWpmK5i4SxOc d4m/S075tKYqTQEo2tMNzsdQAMBMU+2QYDc/Q5aBEW73Iyqww098rMZsgPEykF9q G4Mk3gpu/GY46W6grbQKLWPpBX3bN5lRM/5Vz9rbZGj39AUqAnAWHmZU24USTnVg AjOcZZ3kyZqRx+Lu5dpqhzmpsD5g7ZQ3DrYzJqZvlCvPC1gn+L9FbXKwuubMHbZ2 qhC6vwWNNGry/OwnfsbGNcWweX2O3JN7aWFgTSnpRGvAQeZB1GF7GIJG966oLpwW 11lGN5G0qqf+6e5OhCPs1oCM1n9i2en6Env65bIBOp3Pe0VHr58UcLs/7EFa7Mu6 5bOFFfCqr65XtHw5lm0LLRAy8XDLhHKFF7eLj6zCiKeafdxW4Ey/H9ACW48GpybB 1cQzWtYueiqDeCtrVYPBEtZPuNSp6R6pvsDGu/AFV/tjkVRP6F2IuM2LWlYC5YKB zwEA87iPBp6trkSoc0b495FAbKkc6/hl44wVTzPip6p9ZEraGOFpzQLWl5wAMN43 ambgNNO72a6H+QTnYcpnKt78RwzAYIBugyOG4V+9wL69YK8iOZs= =FeKy -----END PGP SIGNATURE----- --kfx3tqsq374xuhtg--