kernel: zeroing out new memory allocated by phys_alloc
authorReto Achermann <reto.achermann@inf.ethz.ch>
Fri, 19 Jun 2015 10:04:18 +0000 (12:04 +0200)
committerReto Achermann <reto.achermann@inf.ethz.ch>
Fri, 19 Jun 2015 10:09:30 +0000 (12:09 +0200)
on the Xeon Phi this memory was sometimes not zeroed out causing
problems with non-empty slots in the CNODES.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

kernel/arch/x86/startup_x86.c

index db66c48..616fe96 100644 (file)
@@ -73,6 +73,8 @@ static lpaddr_t app_alloc_phys(size_t size)
         panic("Out of memory, increase CORE_DATA_PAGES");
     }
 
+    memset((void*)local_phys_to_mem(addr), 0, npages * BASE_PAGE_SIZE);
+
     return addr;
 }
 
@@ -100,6 +102,9 @@ static lpaddr_t bsp_alloc_phys(size_t size)
     lpaddr_t addr = bsp_init_alloc_addr;
 
     bsp_init_alloc_addr += npages * BASE_PAGE_SIZE;
+
+    memset((void*)local_phys_to_mem(addr), 0, npages * BASE_PAGE_SIZE);
+
     return addr;
 }