[PATCH 09/28] mfd: cgbc: Zero-initialise version buffer in cgbc_get_version()

From: Lee Jones

Date: Wed Oct 21 2026 - 08:21:07 EST


If the Board Controller returns a short response to the firmware
revision query in cgbc_get_version(), cgbc_command() can succeed
without populating all bytes of the stack-allocated data buffer.
Those uninitialised stack bytes are then copied into cgbc->version
and exposed to userspace via the cgbc_version sysfs attribute.

Zero-initialise the data buffer on the stack to prevent leaking
uninitialised kernel stack memory.

Fixes: 6f1067cfbee7 ("mfd: Add Congatec Board Controller driver")
Closes: https://sashiko.dev/#/bug/linux-8c473713-527e-4619-8404-689f28c7654d
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Lee Jones <lee@xxxxxxxxxx>
---
drivers/mfd/cgbc-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/cgbc-core.c b/drivers/mfd/cgbc-core.c
index 2becaf797646..f2615c783bc8 100644
--- a/drivers/mfd/cgbc-core.c
+++ b/drivers/mfd/cgbc-core.c
@@ -299,7 +299,7 @@ ATTRIBUTE_GROUPS(cgbc);
static int cgbc_get_version(struct cgbc_device_data *cgbc)
{
u8 cmd = CGBC_CMD_GET_FW_REV;
- u8 data[4];
+ u8 data[4] = {};
int ret;

ret = cgbc_command(cgbc, &cmd, 1, &data, sizeof(data), NULL);
--
2.56.0.218.g1ec904b173-goog