madvise: Support MADV_WIPEONFORK, MADV_KEEPONFORK and MADV_NORMAL

Change-Id: I1d4cf5affa580d7304dfdc34fa4f1707c0df617c
refs: #1374
This commit is contained in:
TOIDA,Suguru
2020-03-06 15:00:37 +09:00
parent d82ac31bc6
commit 3300e65efc
7 changed files with 131 additions and 2 deletions

View File

@@ -750,8 +750,13 @@ static int copy_user_pte(void *arg0, page_table_t src_pt, pte_t *src_ptep, void
src_kvirt = ihk_mc_map_virtual(src_lphys, 1, attr);
}
memcpy(virt, src_kvirt, pgsize);
dkprintf("copy_user_pte(): memcpy OK\n");
if (args->new_vrflag & VR_WIPEONFORK) {
memset(virt, 0, pgsize);
dkprintf("%s(): memset OK\n", __func__);
} else {
memcpy(virt, src_kvirt, pgsize);
dkprintf("%s(): memcpy OK\n", __func__);
}
if (!is_mckernel) {
ihk_mc_unmap_virtual(src_kvirt, 1);