[CRIU] [PATCH 10/44] parasite-syscall.c: don't dump pages above TASK_SIZE boundary.

Alexander Kartashov alekskartashov at parallels.com
Mon Jan 7 10:04:39 EST 2013


Signed-off-by: Alexander Kartashov <alekskartashov at parallels.com>
---
 arch/x86/include/asm/types.h |    2 ++
 parasite-syscall.c           |    4 ++++
 2 files changed, 6 insertions(+)

diff --git a/arch/x86/include/asm/types.h b/arch/x86/include/asm/types.h
index a8a6316..f897888 100644
--- a/arch/x86/include/asm/types.h
+++ b/arch/x86/include/asm/types.h
@@ -248,4 +248,6 @@ typedef struct {
 #define REG_RES(regs) ((regs).ax)
 #define REG_IP(regs)  ((regs).ip)
 
+#define TASK_SIZE ((1UL << 47) - 1)
+
 #endif /* __CR_ASM_TYPES_H__ */
diff --git a/parasite-syscall.c b/parasite-syscall.c
index 3264bf8..3a68027 100644
--- a/parasite-syscall.c
+++ b/parasite-syscall.c
@@ -548,6 +548,10 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head *vma_a
 			continue;
 		}
 
+		if (vma_area->vma.end > TASK_SIZE) {
+			continue;
+		}
+
 		ret = parasite_execute(PARASITE_CMD_DUMPPAGES, ctl);
 		if (ret) {
 			pr_err("Dumping pages failed with %d\n", ret);
-- 
1.7.10.4



More information about the CRIU mailing list