mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] powerpc/pseries: fix device_node leak in drc-info lookup error paths
@ 2026-10-09  3:54 Haotian Zhang
  2026-10-09  6:10 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 3+ messages in thread
From: Haotian Zhang @ 2026-10-09  3:54 UTC (permalink / raw)
  To: Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
	Shrikanth Hegde, Michael Bringmann
  Cc: linuxppc-dev, linux-kernel

cpu_to_drc_index() and drc_index_to_cpu() acquire the /cpus device_node
with of_find_node_by_path() and then walk the ibm,drc-info property. When
an entry whose drc_type is not "CPU" is encountered, the code jumps to the
err label, which is *after* the err_of_node_put label, so of_node_put() is
skipped and the reference taken on the /cpus node is leaked on every such
exit.

Jump to err_of_node_put instead so the device_node reference is always
released.

Fixes: e83636ac3334 ("pseries/drc-info: Search DRC properties for CPU indexes")
Assisted-by: DeepSeek-V4.1-Flash
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 arch/powerpc/platforms/pseries/pseries_energy.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/pseries_energy.c b/arch/powerpc/platforms/pseries/pseries_energy.c
index fdaf85ecd39b..b3a1c34b3323 100644
--- a/arch/powerpc/platforms/pseries/pseries_energy.c
+++ b/arch/powerpc/platforms/pseries/pseries_energy.c
@@ -66,7 +66,7 @@ static u32 cpu_to_drc_index(int cpu)
 
 			of_read_drc_info_cell(&info, &value, &drc);
 			if (strncmp(drc.drc_type, "CPU", 3))
-				goto err;
+				goto err_of_node_put;
 
 			if (thread_index < drc.last_drc_index)
 				break;
@@ -135,7 +135,7 @@ static int drc_index_to_cpu(u32 drc_index)
 
 			of_read_drc_info_cell(&info, &value, &drc);
 			if (strncmp(drc.drc_type, "CPU", 3))
-				goto err;
+				goto err_of_node_put;
 
 			if (drc_index > drc.last_drc_index) {
 				cpu += drc.num_sequential_elems;
-- 
2.25.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] powerpc/pseries: fix device_node leak in drc-info lookup error paths
  2026-10-09  3:54 [PATCH] powerpc/pseries: fix device_node leak in drc-info lookup error paths Haotian Zhang
@ 2026-10-09  6:10 ` Krzysztof Kozlowski
  2026-10-09  6:17   ` Shrikanth Hegde
  0 siblings, 1 reply; 3+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-09  6:10 UTC (permalink / raw)
  To: Haotian Zhang
  Cc: Michael Bringmann, Madhavan Srinivasan, linuxppc-dev,
	Shrikanth Hegde, Nicholas Piggin, linux-kernel, Michael Ellerman


On Fri, 09 Oct 2026 11:54:45 +0800, Haotian Zhang wrote:
> cpu_to_drc_index() and drc_index_to_cpu() acquire the /cpus device_node
> with of_find_node_by_path() and then walk the ibm,drc-info property. When
> an entry whose drc_type is not "CPU" is encountered, the code jumps to the
> err label, which is *after* the err_of_node_put label, so of_node_put() is
> skipped and the reference taken on the /cpus node is leaked on every such
> exit.
> 
> Jump to err_of_node_put instead so the device_node reference is always
> released.
> 
> Fixes: e83636ac3334 ("pseries/drc-info: Search DRC properties for CPU indexes")
> Assisted-by: DeepSeek-V4.1-Flash
> Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
> ---
>  arch/powerpc/platforms/pseries/pseries_energy.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 



Multiple things here:
1. Your team ignored completely previous feedback.

2. You use multiple identities with this email, thus I actually doubt we speak
   with actual person.

3. Finally, same feedback:
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.

More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.

This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down.  Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.

Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem (so a patchset grouping multiple patches with a short cover
letter), how to document usage of LLM and how what you should not do
if this was posted in a good faith.

Best regards,
Krzysztof





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] powerpc/pseries: fix device_node leak in drc-info lookup error paths
  2026-10-09  6:10 ` Krzysztof Kozlowski
@ 2026-10-09  6:17   ` Shrikanth Hegde
  0 siblings, 0 replies; 3+ messages in thread
From: Shrikanth Hegde @ 2026-10-09  6:17 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Haotian Zhang
  Cc: Michael Bringmann, Madhavan Srinivasan, linuxppc-dev,
	Nicholas Piggin, linux-kernel, Michael Ellerman



On 10/9/26 11:40 AM, Krzysztof Kozlowski wrote:
> 
> On Fri, 09 Oct 2026 11:54:45 +0800, Haotian Zhang wrote:
>> cpu_to_drc_index() and drc_index_to_cpu() acquire the /cpus device_node
>> with of_find_node_by_path() and then walk the ibm,drc-info property. When
>> an entry whose drc_type is not "CPU" is encountered, the code jumps to the
>> err label, which is *after* the err_of_node_put label, so of_node_put() is
>> skipped and the reference taken on the /cpus node is leaked on every such
>> exit.
>>
>> Jump to err_of_node_put instead so the device_node reference is always
>> released.
>>
>> Fixes: e83636ac3334 ("pseries/drc-info: Search DRC properties for CPU indexes")
>> Assisted-by: DeepSeek-V4.1-Flash
>> Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
>> ---
>>   arch/powerpc/platforms/pseries/pseries_energy.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
> 
> 
> 
> Multiple things here:
> 1. Your team ignored completely previous feedback.
> 
> 2. You use multiple identities with this email, thus I actually doubt we speak
>     with actual person.
> 
> 3. Finally, same feedback:
> You sent multiple independent patches, to multiple independent
> subsystems. The amount of these patches clearly suggest this was
> AI generated and most likely not tested.
> 
> More importantly, you sent all this work without properly organizing
> relevant patches into patchsets. This makes reviewing difficult
> and might cause multiple reviewers to address the same issue.
> Replying to the entire set is impossible and requires handling each
> patch independently, instead of applying or discarding the set.
> Maintainers also won't see the bigger picture of your work. Quite
> worrying.
> 
> This is on the verge of hostile patch: bomb us with so many
> contributions, we won't be able to handle them in efficient manner,
> like responding ONCE to ask you to slow down.  Considering all this
> is untested and LLM generated, I have even more doubts whether this
> should be considered for review.


Right, this is one of the concern I agree. A lot of these patches
are not mentioning how it is tested out.

One should at least mention how did they observe it and tested it and fix
does test what it meant to fix.

> 
> Please read kernel documentation BEFORE posting more work. It will
> explain you how to identify subsystems, how to organize your work per
> subsystem (so a patchset grouping multiple patches with a short cover
> letter), how to document usage of LLM and how what you should not do
> if this was posted in a good faith.
> 
> Best regards,
> Krzysztof
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-09  6:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-09  3:54 [PATCH] powerpc/pseries: fix device_node leak in drc-info lookup error paths Haotian Zhang
2026-10-09  6:10 ` Krzysztof Kozlowski
2026-10-09  6:17   ` Shrikanth Hegde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®