]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mailbox: th1520: Fix memory corruption due to incorrect array size
authorMichal Wilczynski <m.wilczynski@samsung.com>
Mon, 2 Dec 2024 10:05:35 +0000 (11:05 +0100)
committerJassi Brar <jassisinghbrar@gmail.com>
Sat, 18 Jan 2025 22:20:55 +0000 (16:20 -0600)
The functions th1520_mbox_suspend_noirq and th1520_mbox_resume_noirq are
intended to save and restore the interrupt mask registers in the MBOX
ICU0. However, the array used to store these registers was incorrectly
sized, leading to memory corruption when accessing all four registers.

This commit corrects the array size to accommodate all four interrupt
mask registers, preventing memory corruption during suspend and resume
operations.

Fixes: 5d4d263e1c6b ("mailbox: Introduce support for T-head TH1520 Mailbox driver")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/a99e72be-8490-4960-ad26-cbfef6af238f@stanley.mountain/
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/mailbox-th1520.c

index e16e7c85ee3cd56301e88802f41d7a306a848074..a6b2aa9ae952067cf603e147006eeefbe5793968 100644 (file)
@@ -41,7 +41,7 @@
 #ifdef CONFIG_PM_SLEEP
 /* store MBOX context across system-wide suspend/resume transitions */
 struct th1520_mbox_context {
-       u32 intr_mask[TH_1520_MBOX_CHANS - 1];
+       u32 intr_mask[TH_1520_MBOX_CHANS];
 };
 #endif