FAILED: patch "[PATCH] thermal: of: Fix OF node leak in thermal_of_trips_init()" failed to apply to 6.6-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x afc954fd223ded70b1fa000767e2531db55cce58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024082655-virtuous-reggae-54f4@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
afc954fd223d ("thermal: of: Fix OF node leak in thermal_of_trips_init() error path")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From afc954fd223ded70b1fa000767e2531db55cce58 Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <[email protected]>
Date: Wed, 14 Aug 2024 21:58:21 +0200
Subject: [PATCH] thermal: of: Fix OF node leak in thermal_of_trips_init()
error path
Terminating for_each_child_of_node() loop requires dropping OF node reference, so bailing out after thermal_of_populate_trip() error misses this. Solve the OF node reference leak with scoped for_each_child_of_node_scoped().
drivers/thermal/thermal_of.c +2 -2
@@ -125,7 +125,7 @@ static int thermal_of_populate_trip(struct device_node *np,static struct thermal_trip *thermal_of_trips_init (struct device_node *np,int *ntrips) {struct thermal_trip *tt; -struct device_node *trips, *trip; +struct device_node *trips;int ret, count; trips =of_get_child_by_name (np,"trips" );
@@ -150,7 +150,7 @@ static struct thermal_trip *thermal_of_trips_init(struct device_node *np, int *n *ntrips = count; count =0 ; -for_each_child_of_node (trips, trip) { +for_each_child_of_node_scoped (trips, trip) { ret =thermal_of_populate_trip (trip, &tt[count++]);if (ret) goto out_kfree;