[CRIU] [PATCH] mem: fix typo in determining an address of parent vma
Andrey Vagin
avagin at openvz.org
Tue May 13 04:32:53 PDT 2014
Look at this hunk from 7659c995f58f:
- paddr = decode_pointer(vma_premmaped_start(&p->vma));
+ paddr = decode_pointer(vma->premmaped_addr);
Obviously we want to use p->premmaped_addr instead of
vma->premmaped_addr.
Fixes: 7659c995f58f ("vm: don't overwrite vma->shmid for private mappings")
Reported-by: Filipe Brandenburger <filbranden at google.com>
Signed-off-by: Andrey Vagin <avagin at openvz.org>
---
cr-restore.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/cr-restore.c b/cr-restore.c
index 1c67a20..2601c0c 100644
--- a/cr-restore.c
+++ b/cr-restore.c
@@ -238,7 +238,8 @@ static int map_private_vma(pid_t pid, struct vma_area *vma, void *tgt_addr,
p->vma.start == vma->vma.start) {
pr_info("COW 0x%016"PRIx64"-0x%016"PRIx64" 0x%016"PRIx64" vma\n",
vma->vma.start, vma->vma.end, vma->vma.pgoff);
- paddr = decode_pointer(vma->premmaped_addr);
+ paddr = decode_pointer(p->premmaped_addr);
+ pr_err("%p %p\n", vma, decode_pointer(vma->premmaped_addr));
break;
}
@@ -291,6 +292,7 @@ static int map_private_vma(pid_t pid, struct vma_area *vma, void *tgt_addr,
}
vma->premmaped_addr = (unsigned long) addr;
+ pr_err("%p %p\n", vma, decode_pointer(vma->premmaped_addr));
pr_debug("\tpremap 0x%016"PRIx64"-0x%016"PRIx64" -> %016lx\n",
vma->vma.start, vma->vma.end, (unsigned long)addr);
--
1.8.5.3
More information about the CRIU
mailing list