[CRIU] [PATCH] ppc64: Fix clobber list item for JUMP_TO_RESTORER_BLOB

Andrei Vagin avagin at virtuozzo.com
Tue Feb 14 11:13:40 PST 2017


On Tue, Feb 14, 2017 at 06:10:53PM +0300, Pavel Emelyanov wrote:
> On 02/14/2017 04:45 PM, Adrian Reber wrote:
> > On Tue, Feb 14, 2017 at 04:34:04PM +0300, Pavel Emelyanov wrote:
> >> On 02/14/2017 04:09 PM, Adrian Reber wrote:
> >>> On Mon, Feb 13, 2017 at 05:01:54PM +0100, Adrian Reber wrote:
> >>>> On Mon, Feb 13, 2017 at 11:26:43AM +0100, Laurent Dufour wrote:
> >>>>> The JUMP_TO_RESTORER_BLOB assembly macro has been rewrote through the
> >>>>> commit '89d6b39cfe36 ppc64: pie -- Add ppc64le relocation's
> >>>>> processing', but the Clobber list hasn't been updated.
> >>>>>
> >>>>> This doesn't generate build neither runtime errors since the Clobber
> >>>>> list was larger than needed but GCC 7 is now raising an error when an
> >>>>> assembly macro is clobbering the r2 register.
> >>>>>
> >>>>> This patch fix the Clobber list to just modified registers.
> >>>>>
> >>>>> Fixes: 89d6b39cfe36 ("ppc64: pie -- Add ppc64le relocation's processing")
> >>>>> Reported-by: Adrian Reber <adrian at lisas.de>
> >>>>> Signed-off-by: Laurent Dufour <ldufour at linux.vnet.ibm.com>
> >>>>
> >>>> Tested-by: Adrian Reber <adrian at lisas.de>
> >>>>
> >>>> It compiles again:
> >>>>
> >>>> https://kojipkgs.fedoraproject.org/work/tasks/1536/17841536/build.log
> >>>>
> >>>> I was not able to actually test it yet. I am trying to get a ppc64le
> >>>> system running with gcc-7.
> >>>
> >>> I was able to install gcc-7 on a Fedora 25 test VM and got the following
> >>> from a test run:
> >>>
> >>> # ./zdtm.py run -f h -a --keep-going
> >>> ################### 2 TEST(S) FAILED (TOTAL 293/SKIPPED 102) ###################
> >>>  * zdtm/static/deleted_unix_sock(unknown)
> >>>  * zdtm/static/del_standalone_un(unknown)
> >>> ##################################### FAIL #####################################
> >>>
> >>> So it seems most of the test are working. Not sure why those 2 failed.
> >>
> >> Can you check these two individually? zdtm.py run -t zdtm/static/deleted_unix_sock
> > 
> > # ./zdtm.py run -t zdtm/static/deleted_unix_sock
> > === Run 1/1 ================ zdtm/static/deleted_unix_sock
> > 
> > ==================== Run zdtm/static/deleted_unix_sock in h ====================
> > Start test
> > ./deleted_unix_sock --pidfile=deleted_unix_sock.pid --outfile=deleted_unix_sock.out --filename=deleted_unix_sock.test
> > Makefile:331: recipe for target 'deleted_unix_sock.pid' failed
> > make: *** [deleted_unix_sock.pid] Error 1
> > ############### Test zdtm/static/deleted_unix_sock FAIL at start ###############
> > Test output: ================================
> > 08:37:02.984:    30: ERR: deleted_unix_sock.c:51: can't bind to socket "deleted_unix_sock.test" (errno = 13 (Permission denied))
> 
> Ah... This is unrelated to clobber regs :) This is something with permissions
> on the criu/test/ directory (or criu/test/zdtm/ directory).
> 
> -- Pavel
> 
> > 08:37:02.985:    29: ERR: test.c:229: Test exited unexpectedly with code 1
> > 
> >  <<< ================================
> > ##################################### FAIL #####################################
> > 
> > # ./zdtm.py run -t zdtm/static/del_standalone_un
> > === Run 1/1 ================ zdtm/static/del_standalone_un
> > 
> > ==================== Run zdtm/static/del_standalone_un in h ====================
> > Start test
> > ./del_standalone_un --pidfile=del_standalone_un.pid --outfile=del_standalone_un.out --dirname=del_standalone_un.test
> > Makefile:334: recipe for target 'del_standalone_un.pid' failed
> > make: *** [del_standalone_un.pid] Error 1
> > ############### Test zdtm/static/del_standalone_un FAIL at start ###############
> > Test output: ================================
> > 08:38:29.032:    30: FAIL: del_standalone_un.c:44: bind /root/criu/test/zdtm/static/del_standalone_un.test/sock (errno = 13 (Permission denied))
> > 08:38:29.032:    29: ERR: test.c:229: Test exited unexpectedly with code 1

$ sudo ls -ld /root/
dr-xr-x---. 25 root root 4096 Jan 31 16:22 /root/

The patch to criu tests has to be accessible for all users. You need to
add x for others or to move criu into another place.

chmod o+x /root

I think it would be better to move criu to somewhere else...

> > 
> >  <<< ================================
> > ##################################### FAIL #####################################
> > 
> > I tried to disable SELinux but the error stays the same.
> > 
> > 		Adrian
> > .
> > 
> 
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list