[PATCH v2 1/4] soc: apple: rtkit: free syslog buffer before reinitializing
Laxman Acharya Padhya <[email protected]>
| Newsgroups | dev.linux.lists.asahi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <c14026054a393b581d3dd91a618892616424e202.1787559303.git.acharyalaxman8848@gmail.com> |
A second SYSLOG_INIT message overwrites syslog_msg_buffer without
freeing the previous allocation. Free the old buffer before allocating
its replacement.
Fixes: 9bd1d9a0d8bb ("soc: apple: Add RTKit IPC library")
Cc: [email protected]
Signed-off-by: Laxman Acharya Padhya <[email protected]>
---
drivers/soc/apple/rtkit.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c
index a3fdac8f6f06..1886f7eba77d 100644
--- a/drivers/soc/apple/rtkit.c
+++ b/drivers/soc/apple/rtkit.c
@@ -422,6 +422,9 @@ static void apple_rtkit_ioreport_rx(struct apple_rtkit *rtk, u64 msg)
static void apple_rtkit_syslog_rx_init(struct apple_rtkit *rtk, u64 msg)
{
+ kfree(rtk->syslog_msg_buffer);
+ rtk->syslog_msg_buffer = NULL;
+
rtk->syslog_n_entries = FIELD_GET(APPLE_RTKIT_SYSLOG_N_ENTRIES, msg);
rtk->syslog_msg_size = FIELD_GET(APPLE_RTKIT_SYSLOG_MSG_SIZE, msg);
--
2.51.2