From 99d19866cf49ea754b4e56a29d4cfa86c5b8ec68 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Sat, 14 Mar 2020 22:11:57 +0800 Subject: [PATCH] kernel: mem: zero out memory as part of alloc() Signed-off-by: Sean Cross --- kernel/src/mem.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/src/mem.rs b/kernel/src/mem.rs index c063f9bdf..2f443ff7e 100644 --- a/kernel/src/mem.rs +++ b/kernel/src/mem.rs @@ -218,7 +218,9 @@ impl MemoryManager { if self.allocations[index] == 0 { self.allocations[index] = pid; self.last_ram_page = index + 1; - return Ok(index * PAGE_SIZE + self.ram_start); + let page = (index * PAGE_SIZE + self.ram_start) as *mut usize; + unsafe { page.write_bytes(0, PAGE_SIZE / mem::size_of::()) }; + return Ok(page as usize); } } for index in 0..self.last_ram_page { @@ -226,7 +228,9 @@ impl MemoryManager { if self.allocations[index] == 0 { self.allocations[index] = pid; self.last_ram_page = index + 1; - return Ok(index * PAGE_SIZE + self.ram_start); + let page = (index * PAGE_SIZE + self.ram_start) as *mut usize; + unsafe { page.write_bytes(0, PAGE_SIZE / mem::size_of::()) }; + return Ok(page as usize); } } Err(xous::Error::OutOfMemory)