[Devel] Re: [PATCH] c/r: enclose arch_setup_additional_pages() call between #ifdefs
Oren Laadan
orenl at cs.columbia.edu
Mon Mar 1 11:09:33 PST 2010
Serge E. Hallyn wrote:
> Quoting Oren Laadan (orenl at cs.columbia.edu):
>> Invocation of arch_setup_additional_pages() should occur only for
>> those architectures that provide it:
>>
>> #ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES
>> ...
>> #endif
>>
>> Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
>
> Acked-by: Serge Hallyn <serue at us.ibm.com>
>
> (one query below)
>
>> ---
>> mm/mmap.c | 15 +++++++++++++--
>> 1 files changed, 13 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/mmap.c b/mm/mmap.c
>> index 6aa606a..6aadf2e 100644
>> --- a/mm/mmap.c
>> +++ b/mm/mmap.c
>> @@ -2394,17 +2394,28 @@ int special_mapping_restore(struct ckpt_ctx *ctx,
>> struct mm_struct *mm,
>> struct ckpt_hdr_vma *h)
>> {
>> + int ret = 0;
>> +
>> /*
>> * FIX:
>> * Currently, we only handle VDSO/vsyscall special handling.
>> * Even that, is very basic - call arch_setup_additional_pages
>> * requiring the same mapping (start address) as before.
>> */
>> +
>> + if (h->vma_type != CKPT_VMA_VDSO)
>> + return -EINVAL;
>
> Well this really should just be a BUG_ON, right? Since this only
> gets called for the VDSO restore_vma_ops.
Sure. Will fix and push.
Thanks,
Oren.
>
>> +#ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES
>> #if defined(CONFIG_X86_64) && defined(CONFIG_COMPAT)
>
> (aside: I would have liked to make this more generic, but for reasons
> i never quite tracked down that didn't end up working, and x86 is the
> only one which defines compat_arch_setup_additional_pages())
>
>> if (test_thread_flag(TIF_IA32))
>> - return syscall32_setup_pages(NULL, h->vm_start, 0);
>> + ret = syscall32_setup_pages(NULL, h->vm_start, 0);
>> + else
>> +#endif
>> + ret = arch_setup_additional_pages(NULL, h->vm_start, 0);
>> #endif
>> - return arch_setup_additional_pages(NULL, h->vm_start, 0);
>> +
>> + return ret;
>> }
>> #else /* !CONFIG_CHECKPOINT */
>> #define special_mapping_checkpoint NULL
>> --
>> 1.6.3.3
>>
>> _______________________________________________
>> Containers mailing list
>> Containers at lists.linux-foundation.org
>> https://lists.linux-foundation.org/mailman/listinfo/containers
>
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list