Improved user binary loading
[akaros.git] / kern / src / page_alloc.c
index 480e276..595b478 100644 (file)
@@ -107,10 +107,9 @@ static error_t __page_alloc_specific(page_t** page, size_t ppn)
 }
 
 /**
- * @brief Allocates a physical page from a pool of unused physical memory
+ * @brief Allocates a physical page from a pool of unused physical memory.
  *
- * Does NOT set the contents of the physical page to zero -
- * the caller must do that if necessary.
+ * Zeroes the page.
  *
  * @param[out] page  set to point to the Page struct
  *                   of the newly allocated page
@@ -125,6 +124,8 @@ error_t upage_alloc(struct proc* p, page_t** page)
                                             page, p->next_cache_color);
        spin_unlock_irqsave(&colored_page_free_list_lock);
 
+       memset(page2kva(*page),0,PGSIZE);
+
        if(ret >= 0)
                p->next_cache_color = ret;
        return ret;