Message ID | 20171115094458.31666-1-johan@kernel.org |
---|---|
State | Accepted |
Headers | show |
Series | soc/tegra: pmc: fix child-node lookup | expand |
On 15.11.2017 11:44, 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. > > To make things worse, the parent pmc node could end up being prematurely > freed as of_find_node_by_name() drops a reference to its first argument. > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > Cc: stable <stable@vger.kernel.org> # 4.0 > Cc: Mikko Perttunen <mperttunen@nvidia.com> > Signed-off-by: Johan Hovold <johan@kernel.org> > --- > drivers/soc/tegra/pmc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > index 0453ff6839a7..7e9ef3431bea 100644 > --- a/drivers/soc/tegra/pmc.c > +++ b/drivers/soc/tegra/pmc.c > @@ -1321,7 +1321,7 @@ static void tegra_pmc_init_tsense_reset(struct tegra_pmc *pmc) > if (!pmc->soc->has_tsense_reset) > return; > > - np = of_find_node_by_name(pmc->dev->of_node, "i2c-thermtrip"); > + np = of_get_child_by_name(pmc->dev->of_node, "i2c-thermtrip"); > if (!np) { > dev_warn(dev, "i2c-thermtrip node not found, %s.\n", disabled); > return; > Good find! Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Nov 16, 2017 at 01:40:24PM +0200, Mikko Perttunen wrote: > On 15.11.2017 11:44, 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. > > > > To make things worse, the parent pmc node could end up being prematurely > > freed as of_find_node_by_name() drops a reference to its first argument. > > > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > > Cc: stable <stable@vger.kernel.org> # 4.0 > > Cc: Mikko Perttunen <mperttunen@nvidia.com> > > Signed-off-by: Johan Hovold <johan@kernel.org> > > --- > > drivers/soc/tegra/pmc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > > index 0453ff6839a7..7e9ef3431bea 100644 > > --- a/drivers/soc/tegra/pmc.c > > +++ b/drivers/soc/tegra/pmc.c > > @@ -1321,7 +1321,7 @@ static void tegra_pmc_init_tsense_reset(struct tegra_pmc *pmc) > > if (!pmc->soc->has_tsense_reset) > > return; > > > > - np = of_find_node_by_name(pmc->dev->of_node, "i2c-thermtrip"); > > + np = of_get_child_by_name(pmc->dev->of_node, "i2c-thermtrip"); > > if (!np) { > > dev_warn(dev, "i2c-thermtrip node not found, %s.\n", disabled); > > return; > > > > Good find! > > Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> This one still hasn't made it to linux-next so figured I'd send a reminder. Will you be picking this one up for 4.16, Thierry? Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Jan 12, 2018 at 10:19:51AM +0100, Johan Hovold wrote: > On Thu, Nov 16, 2017 at 01:40:24PM +0200, Mikko Perttunen wrote: > > On 15.11.2017 11:44, 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. > > > > > > To make things worse, the parent pmc node could end up being prematurely > > > freed as of_find_node_by_name() drops a reference to its first argument. > > > > > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > > > Cc: stable <stable@vger.kernel.org> # 4.0 > > > Cc: Mikko Perttunen <mperttunen@nvidia.com> > > > Signed-off-by: Johan Hovold <johan@kernel.org> > > > --- > > > drivers/soc/tegra/pmc.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > > > index 0453ff6839a7..7e9ef3431bea 100644 > > > --- a/drivers/soc/tegra/pmc.c > > > +++ b/drivers/soc/tegra/pmc.c > > > @@ -1321,7 +1321,7 @@ static void tegra_pmc_init_tsense_reset(struct tegra_pmc *pmc) > > > if (!pmc->soc->has_tsense_reset) > > > return; > > > > > > - np = of_find_node_by_name(pmc->dev->of_node, "i2c-thermtrip"); > > > + np = of_get_child_by_name(pmc->dev->of_node, "i2c-thermtrip"); > > > if (!np) { > > > dev_warn(dev, "i2c-thermtrip node not found, %s.\n", disabled); > > > return; > > > > > > > Good find! > > > > Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> > > This one still hasn't made it to linux-next so figured I'd send a > reminder. Will you be picking this one up for 4.16, Thierry? Another two months, another reminder; Thierry, can you pick this fix up? It's got Mikko's ack. Mikko, can you please ping Thierry in case I'm getting stuck in his spam filter or something? Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Nov 15, 2017 at 10:44: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. > > To make things worse, the parent pmc node could end up being prematurely > freed as of_find_node_by_name() drops a reference to its first argument. > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > Cc: stable <stable@vger.kernel.org> # 4.0 > Cc: Mikko Perttunen <mperttunen@nvidia.com> > Signed-off-by: Johan Hovold <johan@kernel.org> > --- > drivers/soc/tegra/pmc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied, thanks. Thierry
Hi Thierry, On Thu, Mar 22, 2018 at 03:24:32PM +0100, Thierry Reding wrote: > On Wed, Nov 15, 2017 at 10:44: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. > > > > To make things worse, the parent pmc node could end up being prematurely > > freed as of_find_node_by_name() drops a reference to its first argument. > > > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > > Cc: stable <stable@vger.kernel.org> # 4.0 > > Cc: Mikko Perttunen <mperttunen@nvidia.com> > > Signed-off-by: Johan Hovold <johan@kernel.org> > > --- > > drivers/soc/tegra/pmc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > Applied, thanks. I noticed this one still hasn't made it into linux-next. Looks like it wasn't included in you 4.17 pull request and is still sitting in the tegra for-4.17/soc branch. Johan
On Mon, Aug 13, 2018 at 04:33:17PM +0200, Johan Hovold wrote: > Hi Thierry, > > On Thu, Mar 22, 2018 at 03:24:32PM +0100, Thierry Reding wrote: > > On Wed, Nov 15, 2017 at 10:44: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. > > > > > > To make things worse, the parent pmc node could end up being prematurely > > > freed as of_find_node_by_name() drops a reference to its first argument. > > > > > > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") > > > Cc: stable <stable@vger.kernel.org> # 4.0 > > > Cc: Mikko Perttunen <mperttunen@nvidia.com> > > > Signed-off-by: Johan Hovold <johan@kernel.org> > > > --- > > > drivers/soc/tegra/pmc.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Applied, thanks. > > I noticed this one still hasn't made it into linux-next. Looks like it > wasn't included in you 4.17 pull request and is still sitting in the > tegra for-4.17/soc branch. Indeed. Looking at my tree it seems like I applied this to for-4.17/soc a couple of days after the signed tag for the pull request. It probably should've gone into a for-4.18/soc, or perhaps into fixes pull request. I've cherry-picked it into for-4.20/soc now. Thanks for the reminder. Thierry
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c index 0453ff6839a7..7e9ef3431bea 100644 --- a/drivers/soc/tegra/pmc.c +++ b/drivers/soc/tegra/pmc.c @@ -1321,7 +1321,7 @@ static void tegra_pmc_init_tsense_reset(struct tegra_pmc *pmc) if (!pmc->soc->has_tsense_reset) return; - np = of_find_node_by_name(pmc->dev->of_node, "i2c-thermtrip"); + np = of_get_child_by_name(pmc->dev->of_node, "i2c-thermtrip"); if (!np) { dev_warn(dev, "i2c-thermtrip node not found, %s.\n", disabled); return;
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. To make things worse, the parent pmc node could end up being prematurely freed as of_find_node_by_name() drops a reference to its first argument. Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") Cc: stable <stable@vger.kernel.org> # 4.0 Cc: Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by: Johan Hovold <johan@kernel.org> --- drivers/soc/tegra/pmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)