fix some vDSO bugs.
- vDSO sometimes becomes invalid. - vDSO is not succeeded for child process. - vDSO becomes invalid when execve. refs #744
This commit is contained in:
@@ -100,8 +100,6 @@ void get_vdso_info(ihk_os_t os, long vdso_rpa)
|
||||
vdso_pa = ihk_device_map_memory(dev, vdso_rpa, sizeof(*vdso));
|
||||
vdso = ihk_device_map_virtual(dev, vdso_pa, sizeof(*vdso), NULL, 0);
|
||||
|
||||
memset(vdso, 0, sizeof(*vdso));
|
||||
|
||||
/* VDSO pages */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)
|
||||
size = vdso_image->size;
|
||||
|
||||
@@ -2198,6 +2198,7 @@ fork_err:
|
||||
strcpy(desc->shell_path, shell_path);
|
||||
}
|
||||
|
||||
desc->enable_vdso = enable_vdso;
|
||||
__dprintf("execve(): load_elf_desc() for %s OK, num sections: %d\n",
|
||||
path, desc->num_sections);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user