[Devel] [PATCH 1/1] use more compatible code in special_mapping_restore
Serge E. Hallyn
serue at us.ibm.com
Thu Jan 28 19:30:41 PST 2010
(Also remove some unused vars in my do_unmap helper)
Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
---
mm/mmap.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/mm/mmap.c b/mm/mmap.c
index 15afae6..468c8e2 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -30,6 +30,7 @@
#include <linux/mmu_notifier.h>
#include <linux/perf_event.h>
#include <linux/checkpoint.h>
+#include <linux/compat.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
@@ -1960,9 +1961,6 @@ int do_munmap_nocheck(struct mm_struct *mm, unsigned long start, size_t len)
int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
{
- unsigned long end;
- struct vm_area_struct *vma, *prev, *last;
-
if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start)
return -EINVAL;
@@ -2354,10 +2352,10 @@ int special_mapping_restore(struct ckpt_ctx *ctx,
* Even that, is very basic - call arch_setup_additional_pages
* requiring the same mapping (start address) as before.
*/
-#ifdef CONFIG_X86_64 && CONFIG_COMPAT
- if (test_thread_flag(TIF_IA32))
- return syscall32_setup_pages(NULL, h->vm_start, 0);
-#endif
+#ifdef CONFIG_COMPAT
+ if (is_compat_task())
+ return compat_arch_setup_additional_pages(NULL, h->vm_start, 0);
+#endif
return arch_setup_additional_pages(NULL, h->vm_start, 0);
}
#else /* !CONFIG_CHECKPOINT */
--
1.6.0.6
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list