[CRIU] [PATCHv2 17/30] vdso: try_fill_symtable always for compat tasks

Dmitry Safonov dsafonov at virtuozzo.com
Fri Jun 24 08:08:22 PDT 2016


Their vDSO's pfn differ from native tasks.

TODO: compute on dump compatible vDSO's pfn.

Cc: Cyrill Gorcunov <gorcunov at openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
---
 criu/vdso.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/criu/vdso.c b/criu/vdso.c
index 517755513555..057b2adb4d74 100644
--- a/criu/vdso.c
+++ b/criu/vdso.c
@@ -102,7 +102,14 @@ int parasite_fixup_vdso(struct parasite_ctl *ctl, pid_t pid,
 		 */
 		args->start = vma->e->start;
 		args->len = vma_area_len(vma);
-		args->try_fill_symtable = (fd < 0) ? true : false;
+		/*
+		 * XXX: For compatible tasks, vDSO pfn is different from
+		 * our native vdso_pfn. Check vma explicitly.
+		 */
+		if (!seized_native(ctl))
+			args->try_fill_symtable = true;
+		else
+			args->try_fill_symtable = (fd < 0) ? true : false;
 		args->is_vdso = false;
 
 		if (parasite_execute_daemon(PARASITE_CMD_CHECK_VDSO_MARK, ctl)) {
-- 
2.9.0



More information about the CRIU mailing list