On Thu, May 18, 2017 at 02:13:29PM +0300, Dmitry Safonov wrote: > On 04/25/2017 08:18 PM, Dmitry Safonov wrote: > >On 04/14/2017 04:25 PM, Dmitry Safonov wrote: > >>CRIU restores application mappings on the same place where they > >>were before Checkpoint. That means, that we need to move vDSO > >>and sigpage during restore on exactly the same place where > >>they were before C/R. > >> > >>Make mremap() code update mm->context.{sigpage,vdso} pointers > >>during VMA move. Sigpage is used for landing after handling > >>a signal - if the pointer is not updated during moving, the > >>application might crash on any signal after mremap(). > >> > >>vDSO pointer on ARM32 is used only for setting auxv at this moment, > >>update it during mremap() in case of future usage. > >> > >>Without those updates, current work of CRIU on ARM32 is not reliable. > >>Historically, we error Checkpointing if we find vDSO page on ARM32 > >>and suggest user to disable CONFIG_VDSO. > >>But that's not correct - it goes from x86 where signal processing > >>is ended in vDSO blob. For arm32 it's sigpage, which is not disabled > >>with `CONFIG_VDSO=n'. > >> > >>Looks like C/R was working by luck - because userspace on ARM32 at > >>this moment always sets SA_RESTORER. > >> > >>Cc: linux-arm-ker...@lists.infradead.org > >>Cc: Russell King <li...@armlinux.org.uk> > >>Cc: Will Deacon <will.dea...@arm.com> > >>Cc: Andy Lutomirski <l...@amacapital.net> > >>Cc: Thomas Gleixner <t...@linutronix.de> > >>Cc: Cyrill Gorcunov <gorcu...@openvz.org> > >>Cc: Pavel Emelyanov <xe...@virtuozzo.com> > >>Cc: Christopher Covington <c...@codeaurora.org> > >>Signed-off-by: Dmitry Safonov <dsafo...@virtuozzo.com> > >>--- > >>v2: (buildbot) Fix (unsinged long) to (void*) cast warning. > >> > >> arch/arm/kernel/process.c | 8 ++++++++ > >> arch/arm/kernel/vdso.c | 18 ++++++++++++++++++ > >> arch/x86/entry/vdso/vma.c | 3 --- > >> mm/mmap.c | 4 ++++ > >> 4 files changed, 30 insertions(+), 3 deletions(-) > > > >Ping? > > Ping?
I'm mostly happy with the ARM bits, but I can't take the patch without acks from others because it touches other architectures/generic code. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.