[CRIU] [PATCHv1 17/26] vdso: try_fill_symtable always for compat	tasks
    Dmitry Safonov 
    dsafonov at virtuozzo.com
       
    Thu Jun 16 03:53:34 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.8.3
    
    
More information about the CRIU
mailing list