[CRIU] [PATCH 2/9] compat/vdso: compare 32-bit vdso by symbols

Dmitry Safonov dsafonov at virtuozzo.com
Thu Aug 4 07:49:43 PDT 2016


The size of native rt vdso may differ to compat vdso.
While I didn't supply arch_prctl() return value with vdso blob's size,
I may slightly improve this API - so this patch will be reverted.
Let's compare compatible vDSOs by symbols for now.

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

diff --git a/criu/pie/parasite-vdso.c b/criu/pie/parasite-vdso.c
index c51a11b9236e..55395b534ff3 100644
--- a/criu/pie/parasite-vdso.c
+++ b/criu/pie/parasite-vdso.c
@@ -180,7 +180,7 @@ int vdso_proxify(char *who, struct vdso_symtable *sym_rt,
 	 *    b) Symbols offsets must match
 	 *    c) Have same number of vDSO zones
 	 */
-	if (vma_entry_len(vma_vdso) == vdso_vma_size(sym_rt)) {
+	if (vma_entry_len(vma_vdso) == vdso_vma_size(sym_rt) || compat_vdso) {
 		size_t i;
 
 		for (i = 0; i < ARRAY_SIZE(s.symbols); i++) {
-- 
2.9.0



More information about the CRIU mailing list