[PATCH] siox: fix memory leak of master buffer on device release
From: Haotian Zhang
Date: Fri Oct 09 2026 - 00:57:12 EST
siox_device_add() grows smaster->buf with krealloc() when the first
device is added, but the buffer is never freed. siox_master_release()
only frees the siox_master structure itself, so every unregister of a
master that had at least one device leaks its transfer buffer.
Release smaster->buf in siox_master_release().
Fixes: bbecb07fa0af ("siox: new driver framework for eckelmann SIOX")
Assisted-by: DeepSeek-V4.1-Flash
Signed-off-by: Haotian Zhang <vulab@xxxxxxxxxxx>
---
drivers/siox/siox-core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/siox/siox-core.c b/drivers/siox/siox-core.c
index 3e8f3b6a4555..147dd1a3e146 100644
--- a/drivers/siox/siox-core.c
+++ b/drivers/siox/siox-core.c
@@ -673,6 +673,7 @@ static void siox_master_release(struct device *dev)
{
struct siox_master *smaster = to_siox_master(dev);
+ kfree(smaster->buf);
kfree(smaster);
}
--
2.25.1