[Devel] [PATCH 00/11] x86: C/R for ia32 tasks

Andrey Ryabinin aryabinin at virtuozzo.com
Tue May 23 05:03:51 PDT 2017



On 05/18/2017 09:39 PM, Dmitry Safonov wrote:
> Here are:
> - Adjustments to ms API for arch_prctl(ARCH_MAP_VDSO_32).
> - Rework of my ms kernel patch for mremapping vdso to vzkernel
>   (vdso part was rewritten in ~v3.16 so here is a bycicle for older kernel)
> - Fix for mmap() bug which resulted in returning pointer over 4GB for
>   ia32 syscalls (the largest part of the set).
> 
> With those patches + 1 additional patch to vz-criu (u5 branch),
> it's possible to C/R ia32 CTs.
> I've sent the patch to criu-ml, it's trivial and affects only ia32 C/R,
> so soon I'll apply it to the vz7-u5 branch.
> 
> There are two issues known to me:
> - zdtm autofs test (it hangs, so no C/R was tested).
> - vsyscall page appears on all 32-bit tasks after C/R.
>   It's emulated, placed over 4Gb, so the only side-effect is
>   for applications, reading /proc/.../maps and those are not
>   ready to meet such mapping (such applications not known to me).
> 
> I've tested C/R on centos-6-x86 ia32 container with vzctl,
> all looks fine to me.
> 
> Dmitry Safonov (9):
>   x86/vdso/prctl: fail if vdso present in ARCH_MAP_VDSO_32
>   x86/mm: Support mremap()'ing vdso vma
>   x86/vdso/prctl: Return size of vdso blob for ARCH_MAP_VDSO_32
>   ms/x86/mm: Introduce arch_rnd() to compute 32/64 mmap random base
>   ms/x86/mm: Add task_size parameter to mmap_base()
>   ms/x86/mm: Introduce mmap_compat_base() for 32-bit mmap()
>   ms/x86/mm: Make mmap(MAP_32BIT) work correctly
>   ms/x86/hugetlb: Adjust to the new native/compat mmap bases
>   x86/mm: Make in_compat_syscall() work during exec
> 
> Kees Cook (2):
>   ms/x86: standardize mmap_rnd() usage
>   ms/mm: expose arch_mmap_rnd when available
> 

Reviewed-by: Andrey Ryabinin <aryabinin at virtuozzo.com> 


More information about the Devel mailing list