From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752415AbdLMBuh (ORCPT ); Tue, 12 Dec 2017 20:50:37 -0500 Received: from mail-by2nam03on0071.outbound.protection.outlook.com ([104.47.42.71]:26304 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751499AbdLMBud (ORCPT ); Tue, 12 Dec 2017 20:50:33 -0500 Authentication-Results: spf=softfail (sender IP is 192.88.168.50) smtp.mailfrom=gmail.com; sony.com; dkim=none (message not signed) header.d=none;sony.com; dmarc=fail action=none header.from=gmail.com; Date: Wed, 13 Dec 2017 09:49:21 +0800 From: Peter Chen To: Johan Hovold CC: Stephen Boyd , Peter Chen , Greg Kroah-Hartman , , , stable , Frank Rowand Subject: Re: [PATCH] USB: chipidea: msm: fix ulpi-node lookup Message-ID: <20171213014921.GB6829@b29397-desktop> References: <20171113101258.3324-1-johan@kernel.org> <20171212030816.GB22364@b29397-desktop> <20171212125929.GA5185@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20171212125929.GA5185@localhost> User-Agent: Mutt/1.5.24 (2015-08-30) X-EOPAttributedMessage: 0 X-Matching-Connectors: 131576034249161098;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(336005)(376002)(39380400002)(346002)(2980300002)(189003)(199004)(24454002)(4326008)(105596002)(87572001)(55016002)(356003)(5660300001)(8676002)(50466002)(2906002)(33896004)(229853002)(82202002)(59450400001)(16586007)(81442002)(73972006)(77096006)(316002)(104016004)(54906003)(58126008)(76176011)(46406003)(498600001)(8656006)(83506002)(76482006)(6246003)(47776003)(9686003)(575784001)(8936002)(86362001)(68736007)(23726003)(1076002)(33656002)(33716001)(97736004)(53936002)(6666003)(83322999)(2950100002)(6916009)(81166006)(81156014)(97756001)(106466001)(305945005)(73392002)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR03MB2696;H:tx30smr01.am.freescale.net;FPR:;SPF:SoftFail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD030;1:7NkynjhR12EL1IxtSV7OFSJJ8JRnPLA6sji/swsZNGGJQxWRIvEGXRZSCuylP0ukIDqjN7xoOxoq/gfTuH4QgXtgBXjEyVwuQpjFHq8GIpgb27lSlvpm1cYfjWli5ccT X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 84128a41-6d7a-462d-398a-08d541cbe0d7 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307);SRVR:CY4PR03MB2696; X-Microsoft-Exchange-Diagnostics: 1;CY4PR03MB2696;3:5BmxLo2eEP8ph1kAEm+8XMCauqSMm22I/RSecIsBHd0Z/53A6owx8vJzCar/lXy73QVQhlIPZW+Lfwn+XiquBpnalWjjyR6ExKdvYAYzhCWdQin+YdyEndvRo6uOJ7uebKy21C2GYzJ6fNellEns06eaZJ9NuaIU+D3IEY4Q3vKBZwHNrEE8QBe80mBnGicyWSSyArPQC9SBXLmbnms8dVypfpfDV1CMPqn43x0sryxM/cWv2mFwrJe1g5EWunQHDZ3d+Sut1uwMFWPVjX2EbKGIHuosbAXmnW8MFNWjvF2JwYaxIWkjp5RmZOSlUIiOriWaKQIIZ6X124DmXprSPB8rnP5vISC1Qff4c2dAmxc=;25:9SCnIiKD38XybfdlmPcnspONdHdnAokkXryc6KRwpKoFYi5kVmlNotlIhouYVAbXh8BPm2uWB0VGuGhvBavTKwicWxDQBKCo59J+iwUOQPzYu0PSQjqke0OuBrspY2R4GEt8qaharERGFABoDfKE36bxSwpfHy45ttYBs9n6rNDEYSofEk6Uvw6s9PAXcZkCzSx5OkpIOPxdQ7cFWDS5hNk9nDg+jSeU3tqyvrEg0u2aIlIc2qweGNQX4zQz3wdObLzD+D4LXZZCU8OdZXp5q2QR8UnmG3fZGC1VQ5zjCjVxOw9ZM9lV/8zh9BNMWU3gvkaAo8hXK18jAznhXRrfiA== X-MS-TrafficTypeDiagnostic: CY4PR03MB2696: X-Microsoft-Exchange-Diagnostics: 1;CY4PR03MB2696;31:EsNpZ+pq4vRpjm26IW9n4eBzXBnOgLdW/tczxmfZKa7fEtgkTH4RMCqy5W/yYPycHx2tDR37C471mlyyR8VFROJYwUX4BoAU/2vvwLYNRCgSVjgvZsr94wV0dZNJjRqkyIsZRvIZBJVDX0w0sZYllYT4KX77WtMiHt+O8R9hxVJ93U7s0662zgVJsyHLux6lGI0G6ralttaZou2d71bXbYwvEuPdXbw6I/CPWt0srr4=;4:KOXBAurlJNpAVMLW0xlW5vP2u70jyveH5X8oAsGDeJx2dxgR6RKW03sg2gFw8cL/DrkqXuNpvtfZHPdMmKcr+/nvpH8LC+qimGxV4P0Osm8iJK4uXpxdOXjmNVSJdQD+EOZuX9n4yxjFORWVmCNco/luE2kI/3Ch9lnnZ7rL+7sn8J7pbQevBmwadBjlBwGw9uZR3m38dayeTAbEM5v9YHUx2E9xIkU+tWwhbVUQCyz0F6hXhNMaL1UFQWkJFIiVD0MKvos4LzVW2Gf0Hxq677JYj/rvV9VxJ1hZeWChwWlFZhEMRSSL0r3I6fGZUYYaAo4AUQPfg04DTZ8s/TFQkw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(182409339516656)(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(5005006)(8121501046)(3231023)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123561025)(20161123559100)(20161123565025)(20161123556025)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(201708071742011);SRVR:CY4PR03MB2696;BCL:0;PCL:0;RULEID:(100000803101)(100110400095)(400006);SRVR:CY4PR03MB2696; X-Forefront-PRVS: 052017CAF1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR03MB2696;23:J5jlJXCYTnWqz9WoaOuTzQomIjLaYxXrOKclzPkY4?= =?us-ascii?Q?JEu89PLtWkLYXNwFJtBU0Lr7nMAwAhSfWp14xET75McdgtLBGYroLzj+D8Ou?= =?us-ascii?Q?7zGdLa9vfxJNYN1S3eLuiwkl1yN39ALg/tq6elgS3K8cgZreguGMPWdvcYhf?= =?us-ascii?Q?dOEkw7iNSen97xLnpN0VybldOnqLW+usT+HBMpXlZtW3zFWK1WP4bwBTRbZK?= =?us-ascii?Q?/SLfGfH7nvOVD6Y/eu11kcLZc/svjn34jp3gzlVfCvi+qgxxW0oyIR//x/XV?= =?us-ascii?Q?Dc+VFV6RpZ3sdQmFjH6k8aZGPdvM71ybmvPbEJaJAE0Rp8Mif25F1D+FyPG8?= =?us-ascii?Q?Zm37IzuV7fL5U5R7ddPpkeruhj1YSfA56WLj0tCYw21r1OSU3WSiRGiDY3Z0?= =?us-ascii?Q?aHiVC2us14PULLV0gTmtOl39w5iDhNcU73sp2vQruxMusglG6ZAYJscDRyJs?= =?us-ascii?Q?9YGkaRdnQTjZZlnFElYksxDubMviU6fxdN2uZlyH/2DZqVq7rJAJY7jXE9c5?= =?us-ascii?Q?qPSOnAfQigWmM29+C8JnrHf5rJ1gKnnmn3O7jWGHeUifmbM54xoI2YbObaZV?= =?us-ascii?Q?rKVaCEXl7RBUUjbrvXtCop7CIWOMPcRhtbGIZln8CpDthhv3HEriNb69mKvN?= =?us-ascii?Q?4Cp3e6MDFQBngwkwPYTIdOXj4YtVnDy4gjC4WW0KztTfuVeH56rToSQRJds2?= =?us-ascii?Q?4adQ6spGUHn8atYjXfks2w4LxHIKMbIAM/cWHbsL5WPd+rONkYLA8HJJn3ZM?= =?us-ascii?Q?k8fb8JS0tbtmGEfTEEIxbTtfCzEbf/Plj8FtEf9wPaSigXQaCWxSSNkQ8mfL?= =?us-ascii?Q?hfaM/+FzR2MclpuUYa7BTmI/EBXua5DvX2WNfOZ5kI3iwhNyDQbYTSCnzBT7?= =?us-ascii?Q?Er50PepBJHFR0eLyydH5vX4mwrxAESYw0F8D2gmo2W8R5bmr2vsleigyBL1A?= =?us-ascii?Q?hvBMm4322BMqCWwClPVsOx7BNtSvtzTUs3/Hd0JpPTbU8/CoTQj4VN8GMkqG?= =?us-ascii?Q?QUUNc1k45/usOiAtk9LxMlPyxGRXMHQQSGx6SNYmDSRaG4x20UVBMQo8Uhwa?= =?us-ascii?Q?rTLSs07RM4sKM9wlZhGS+dfjf0eQ1UtapwukUjIQnPJGLkF1eNhShfgmq7+M?= =?us-ascii?Q?dPvJaqJMBYhPEUzS0isNr/wW471wJANpdLDwBSVdG2Bo8e2FtFzZeRHF7XL+?= =?us-ascii?Q?h0CiuEcEtKCGNd6sYKZro6cDu1sOLnYhVPCYC4eK6LwVSFboGt73ehQAA5Zp?= =?us-ascii?Q?SPMaXKPQsYqQzPwtOQSNkivpBdPoIUdQm8G/TvQFrHLPr+9b5PSnNFF6w8EO?= =?us-ascii?Q?9xEXvo7TxCkRETRj2sEX7BOOrloGDLtvhwv6pQv5E5VhvSPL7dXddR6txsWC?= =?us-ascii?Q?JGSHJXrZNYNpwyotFmi7Y8EMcM=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR03MB2696;6:y10D224WhR9hm2lh5WTsCfTFysKRl9mb37Zs4JkWAXy1/4QHsjdRHeKCiaCFfioCnF/EYkF7M7qEUdHOPtRoeuYEV3GdVBJfYHDFT12SW6p0Hrp8+RcEtlsx7/EjmC5fxSDUx/lj1gStfG6AK+XbvvrVCfijzMXGXFlRqgE8kC1hRPA4u0jeXoqb8mKxgQGLi6OlzNnXkoulLUuiZ3vZtdmT4bE5OmoFd3HgaoAEahSYJPOmsGZbmjusIKQohB2ZdGrYh0c726Mfvz9YooEVifYaa/ck48n0asLADTwDlmqUTFOJeKoefb6MFvYxjldVslUjMRfw1pKWTxDR00jFUlr29ykAo2J/NG5igx/85y8=;5:lVFk3CIj4O7nJgLP6LtpG5XoulUS+sFtSsfJQZ0CV1A/x+xRJh3FYNkgVXuSC+GMmony+IfdHKr2D2B4TuPfL/YQU+ZYZHS0qzLjATpm47NRbOvsGpo10rpoJN2pOjI3a/NL9pfbMXTchtqgtEGP4lAucoEYpr2wsRjVtMdyukU=;24:+xoie2WU4T/ZdcffoPnTsqoumNQqJPzYDgR47mg4KFXvoZWsACddfNCC8iG8qans3ePRhf+QgSHp7NPHUMIWizdgYYam0ZuaP0yfFzqgU+c=;7:cyi++vSQPcvCurA9Nr7N7nZxTS8zFHNGGUBYD8I+nf/0fq5zS4turktJu4gkjqL6WqrYqKUSBv2QSn7u02S9JgXIddZfMOukdbGglZQSynV4cVDJ++aY1p876Qv4Tw4czCfopqrjaJ8jnyxe2ovHnG/iZQORYobx57QHpB+X9w4lHEKb9vDpxRyNOYmyufcXpKdUg8Azkj2PJQarvXXeV7DtwpQvOXH00gSAx0IwEUW5VOCQC4PX+UKdvDSZYIjX SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2017 01:50:24.7289 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 84128a41-6d7a-462d-398a-08d541cbe0d7 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2696 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 12, 2017 at 01:59:29PM +0100, Johan Hovold wrote: > On Tue, Dec 12, 2017 at 11:08:17AM +0800, Peter Chen wrote: > > On Mon, Nov 13, 2017 at 11:12:58AM +0100, Johan Hovold wrote: > > > Fix child-node lookup during probe, which ended up searching the whole > > > device tree depth-first starting at the parent rather than just matching > > > on its children. > > > > > > Note that the original premature free of the parent node has already > > > been fixed separately, but that fix was apparently never backported to > > > stable. > > > > > > Fixes: 47654a162081 ("usb: chipidea: msm: Restore wrapper settings after reset") > > > Fixes: b74c43156c0c ("usb: chipidea: msm: ci_hdrc_msm_probe() missing of_node_get()") > > > Cc: stable # 4.10: b74c43156c0c > > > Cc: Stephen Boyd > > > Cc: Frank Rowand > > > Signed-off-by: Johan Hovold > > > --- > > > drivers/usb/chipidea/ci_hdrc_msm.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c > > > index 3593ce0ec641..880009987460 100644 > > > --- a/drivers/usb/chipidea/ci_hdrc_msm.c > > > +++ b/drivers/usb/chipidea/ci_hdrc_msm.c > > > @@ -247,7 +247,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev) > > > if (ret) > > > goto err_mux; > > > > > > - ulpi_node = of_find_node_by_name(of_node_get(pdev->dev.of_node), "ulpi"); > > > + ulpi_node = of_get_child_by_name(pdev->dev.of_node, "ulpi"); > > > > Stephen, would you comment on it? I am afraid I can't find the benefit > > for this change. > > The general problem is that several drivers were using the wrong > OF-helper when looking up child nodes. This meant that instead of just > matching on child nodes, a tree-wide, depth-first search was done, > something which could end up matching an unrelated node elsewhere in the > device tree. > > To make things worse, most erroneous users of of_find_node_by_name(), > also failed to notice that that function drops a reference to its first > argument, something which can lead to use-after-free and crashes, for > example, after probe deferrals. > > In this case, it looks like the child node is looked-up to determine > whether to enable a hardware quirk. The potential use-after-free has > already been fixed up (by adding the missing of_node_get()), but that > fix was never backported to stable. > > This patch addresses both issues (tree-wide search + unbalanced put in > stable), while removing buggy code which could otherwise end up being > reproduced in yet another driver. > > Johan Thanks, if Stephen does not have comments, I will send Greg it next Monday. -- Best Regards, Peter Chen