[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251116024411.21968-1-make24@iscas.ac.cn>
Date: Sun, 16 Nov 2025 10:44:11 +0800
From: Ma Ke <make24@...as.ac.cn>
To: maddy@...ux.ibm.com,
mpe@...erman.id.au,
npiggin@...il.com,
christophe.leroy@...roup.eu,
make24@...as.ac.cn,
benh@...nel.crashing.org,
smaclennan@...atech.com
Cc: linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org,
stable@...r.kernel.org
Subject: [PATCH] powerpc/warp: Fix error handling in pika_dtm_thread
pika_dtm_thread() acquires client through of_find_i2c_device_by_node()
but fails to release it in error handling path. This could result in a
reference count leak, preventing proper cleanup and potentially
leading to resource exhaustion. Add put_device() to release the
reference in the error handling path.
Found by code review.
Cc: stable@...r.kernel.org
Fixes: 3984114f0562 ("powerpc/warp: Platform fix for i2c change")
Signed-off-by: Ma Ke <make24@...as.ac.cn>
---
arch/powerpc/platforms/44x/warp.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
index a5001d32f978..6f674f86dc85 100644
--- a/arch/powerpc/platforms/44x/warp.c
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -293,6 +293,8 @@ static int pika_dtm_thread(void __iomem *fpga)
schedule_timeout(HZ);
}
+ put_device(&client->dev);
+
return 0;
}
--
2.17.1
Powered by blists - more mailing lists