[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250521161639.47357-3-stuart.w.hayes@gmail.com>
Date: Wed, 21 May 2025 11:16:39 -0500
From: Stuart Hayes <stuart.w.hayes@...il.com>
To: linux-kernel@...r.kernel.org,
Hans de Goede <hdegoede@...hat.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
platform-driver-x86@...r.kernel.org
Cc: Stuart Hayes <stuart.w.hayes@...il.com>
Subject: [PATCH 2/2] platform/x86: dell_rbu: Stop overwriting data buffer
The dell_rbu driver will use memset to clear the data held by each packet
when it is no longer needed (when the driver is unloaded, the packet size
is changed, etc).
The amount of memory that is cleared is (currently) the normal packet
size. However, the last packet in the list may be smaller. Fix this to
only clear the memory actually used by each packet, to prevent it from
writing past the end of data buffer.
Signed-off-by: Stuart Hayes <stuart.w.hayes@...il.com>
---
drivers/platform/x86/dell/dell_rbu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/platform/x86/dell/dell_rbu.c b/drivers/platform/x86/dell/dell_rbu.c
index 6a602a80160a..bedf03fa4f41 100644
--- a/drivers/platform/x86/dell/dell_rbu.c
+++ b/drivers/platform/x86/dell/dell_rbu.c
@@ -322,7 +322,7 @@ static void packet_empty_list(void)
* zero out the RBU packet memory before freeing
* to make sure there are no stale RBU packets left in memory
*/
- memset(newpacket->data, 0, rbu_data.packetsize);
+ memset(newpacket->data, 0, newpacket->length);
set_memory_wb((unsigned long)newpacket->data,
1 << newpacket->ordernum);
free_pages((unsigned long) newpacket->data,
--
2.47.1
Powered by blists - more mailing lists