[CRIU] CRIU broken on s390x (rhel)

Adrian Reber adrian at lisas.de
Wed Sep 6 12:34:22 MSK 2017


On Wed, Sep 06, 2017 at 12:04:30PM +0300, Mike Rapoport wrote:
> (adding Michael)
> 
> On Tue, Sep 05, 2017 at 05:51:34PM +0200, Adrian Reber wrote:
> > On Tue, Sep 05, 2017 at 01:02:12PM +0200, Adrian Reber wrote:
> > > On my s390x RHEL system criu fails since the following commit:
> > > 
> > > commit ac200854af4730a0f4b1e1e2da4878593c10277a
> > > Author: Mike Rapoport <rppt at linux.vnet.ibm.com>
> > > Date:   Tue Aug 15 09:23:49 2017 +0300
> > > 
> > >     kdat: move kerndat initialization to the very beginning
> > >     
> > >     With kdat cache and unified kerndat_init() we can call it very early in
> > >     crtools and then kdat information will be available for all cr-* actions.
> > >     
> > >     Signed-off-by: Mike Rapoport <rppt at linux.vnet.ibm.com>
> > >     Signed-off-by: Pavel Emelyanov <xemul at virtuozzo.com>
> > > 
> > > With:
> > > 
> > > # criu/criu check
> > > Warn  (criu/kerndat.c:805): Can't load /run/criu.kdat
> > > Warn  (criu/net.c:2726): Unable to get a socket network namespace
> > > Error (criu/uffd.c:221): uffd: Lazy pages are not available: Function not implemented
> > > Error (criu/pie-util-vdso.c:97): vdso: ELF header magic mismatch
> > > Error (criu/vdso.c:614): vdso: Failed to fill self vdso symtable
> > > 
> > > Without that commit I only get 'Looks good.'
> > 
> > Mike said that this should be fixed with
> > 7d0e945584203a17ec0e1356bf9c873881893caf (kerndat: set uffd features to
> > 0 before querying kernel), but I still get the same error on s390x if I
> > update to today's latest git: 
> 
> That should have fixed the uffd part and I fail to see why it is still
> unhappy about it...
> 
> Does uffd show up as available before my recent changes to criu/cr-check.c?
> Say, before the commit cb918051cc (cr-check: use two features to verify
> userfaultfd availability)?
> 
> After the commit ac200854a (kdat: move kerndat initialization to the very
> beginning) 'criu check' performs the complete kdat initialization. As far
> as I can tell, this adds several more checks that were not a part of 'criu
> check' beforehand. Maybe this is causing some unexpected troubles on s390?

I am currently having trouble with my s390x system, so that I cannot
look further into this right now. I am hoping it will get better soon.

Currently I am thinking this could be related to Dmitry vdso changes.
Because until now I did not backport the kernel patches for [vdso]
marking in the RHEL kernel:

commit 35bb092a91b4c43a2079d3d5458b74a059455b6c
Author: Martin Schwidefsky <schwidefsky at de.ibm.com>
Date:   Mon May 15 10:23:38 2017 +0200

    s390/vdso: use _install_special_mapping to establish vdso

It used to be not necessary to have this. Dmitry, do I now need this
kernel patch for CRIU?

		Adrian


More information about the CRIU mailing list