]> git.ipfire.org Git - thirdparty/linux.git/commit
firmware: samsung: acpm: Fix mailbox channel leak on probe error
authorTudor Ambarus <tudor.ambarus@linaro.org>
Tue, 5 May 2026 13:12:59 +0000 (13:12 +0000)
committerKrzysztof Kozlowski <krzk@kernel.org>
Thu, 14 May 2026 16:54:58 +0000 (18:54 +0200)
commitb66829b17f6385cc9ffbcbe2476d532d2e3121ad
tree4eeae273ecd36d34ac01ca0904886839ec0fd230
parentf133bd4b5daf71bccdde0ad1a4f47fac76a6bfb1
firmware: samsung: acpm: Fix mailbox channel leak on probe error

Sashiko identified the leak at [1].

The ACPM driver allocates hardware mailbox channels using
`mbox_request_channel()` during `acpm_channels_init()`. However, the
driver lacked a `.remove` callback and did not free these channels on
subsequent error paths inside `acpm_probe()`.

Additionally, if `acpm_achan_alloc_cmds()` failed during the channel
initialization loop, the function returned immediately, bypassing the
manual cleanup and permanently leaking any channels successfully
requested in previous loop iterations.

Fix this by modifying `acpm_free_mbox_chans()` to match the `devres`
action signature and registering it via `devm_add_action_or_reset()`.

Cc: stable@vger.kernel.org
Fixes: a88927b534ba ("firmware: add Exynos ACPM protocol driver")
Closes: https://sashiko.dev/#/patchset/20260420-acpm-tmu-v3-0-3dc8e93f0b26%40linaro.org [1]
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://patch.msgid.link/20260505-acpm-fixes-sashiko-reports-v5-2-43b5ee7f1674@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/firmware/samsung/exynos-acpm.c