ppc64: Fix clobber list item for JUMP_TO_RESTORER_BLOB

Submitted by Laurent Dufour on Feb. 13, 2017, 10:26 a.m.

Details

Message ID 1486981603-22760-1-git-send-email-ldufour@linux.vnet.ibm.com
State Accepted
Series "ppc64: Fix clobber list item for JUMP_TO_RESTORER_BLOB"
Commit 009f7f99df93602d801620380954d330bf02e976
Headers show

Commit Message

Laurent Dufour Feb. 13, 2017, 10:26 a.m.
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@lisas.de>
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
---
 criu/arch/ppc64/include/asm/restore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/criu/arch/ppc64/include/asm/restore.h b/criu/arch/ppc64/include/asm/restore.h
index bac7bb566abb..8d4516090c65 100644
--- a/criu/arch/ppc64/include/asm/restore.h
+++ b/criu/arch/ppc64/include/asm/restore.h
@@ -21,7 +21,7 @@ 
 		: "r"(new_sp),						\
 		  "r"((unsigned long)restore_task_exec_start),		\
 		  "r"(task_args)					\
-		: "r1", "1", "2", "3", "12", "memory")
+		: "1", "3", "12")
 
 /* There is nothing to do since TLS is accessed through r13 */
 #define core_get_tls(pcore, ptls)

Comments

Adrian Reber Feb. 13, 2017, 4:01 p.m.
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@lisas.de>
> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>

Tested-by: Adrian Reber <adrian@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.

		Adrian

> ---
>  criu/arch/ppc64/include/asm/restore.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/criu/arch/ppc64/include/asm/restore.h b/criu/arch/ppc64/include/asm/restore.h
> index bac7bb566abb..8d4516090c65 100644
> --- a/criu/arch/ppc64/include/asm/restore.h
> +++ b/criu/arch/ppc64/include/asm/restore.h
> @@ -21,7 +21,7 @@
>  		: "r"(new_sp),						\
>  		  "r"((unsigned long)restore_task_exec_start),		\
>  		  "r"(task_args)					\
> -		: "r1", "1", "2", "3", "12", "memory")
> +		: "1", "3", "12")
>  
>  /* There is nothing to do since TLS is accessed through r13 */
>  #define core_get_tls(pcore, ptls)
> -- 
> 2.7.4
Laurent Dufour Feb. 13, 2017, 4:31 p.m.
On 13/02/2017 17:01, 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@lisas.de>
>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> 
> Tested-by: Adrian Reber <adrian@lisas.de>
> 
> It compiles again:
> 
> https://kojipkgs.fedoraproject.org/work/tasks/1536/17841536/build.log

Great !

> I was not able to actually test it yet. I am trying to get a ppc64le
> system running with gcc-7.

FWIW I run the criu test suite with that patch built on GCC 6.2 on a
powernv system without any issue.

Cheers,
Laurent.

> 		Adrian
> 
>> ---
>>  criu/arch/ppc64/include/asm/restore.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/criu/arch/ppc64/include/asm/restore.h b/criu/arch/ppc64/include/asm/restore.h
>> index bac7bb566abb..8d4516090c65 100644
>> --- a/criu/arch/ppc64/include/asm/restore.h
>> +++ b/criu/arch/ppc64/include/asm/restore.h
>> @@ -21,7 +21,7 @@
>>  		: "r"(new_sp),						\
>>  		  "r"((unsigned long)restore_task_exec_start),		\
>>  		  "r"(task_args)					\
>> -		: "r1", "1", "2", "3", "12", "memory")
>> +		: "1", "3", "12")
>>  
>>  /* There is nothing to do since TLS is accessed through r13 */
>>  #define core_get_tls(pcore, ptls)
>> -- 
>> 2.7.4
>
Pavel Emelianov Feb. 13, 2017, 4:56 p.m.
On 02/13/2017 07:31 PM, Laurent Dufour wrote:
> On 13/02/2017 17:01, 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@lisas.de>
>>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
>>
>> Tested-by: Adrian Reber <adrian@lisas.de>
>>
>> It compiles again:
>>
>> https://kojipkgs.fedoraproject.org/work/tasks/1536/17841536/build.log
> 
> Great !
> 
>> I was not able to actually test it yet. I am trying to get a ppc64le
>> system running with gcc-7.
> 
> FWIW I run the criu test suite with that patch built on GCC 6.2 on a
> powernv system without any issue.

How did the issue discover itself? We run ppc64 test-suite in the VM
you helped us to get (thanks) :) and no problems so far.

-- Pavel
Laurent Dufour Feb. 13, 2017, 5:04 p.m.
On 13/02/2017 17:56, Pavel Emelyanov wrote:
> On 02/13/2017 07:31 PM, Laurent Dufour wrote:
>> On 13/02/2017 17:01, 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@lisas.de>
>>>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
>>>
>>> Tested-by: Adrian Reber <adrian@lisas.de>
>>>
>>> It compiles again:
>>>
>>> https://kojipkgs.fedoraproject.org/work/tasks/1536/17841536/build.log
>>
>> Great !
>>
>>> I was not able to actually test it yet. I am trying to get a ppc64le
>>> system running with gcc-7.
>>
>> FWIW I run the criu test suite with that patch built on GCC 6.2 on a
>> powernv system without any issue.
> 
> How did the issue discover itself? We run ppc64 test-suite in the VM
> you helped us to get (thanks) :) and no problems so far.

This is a build issue raised by GCC 7 which don't allow assembly macro
to clobber the register r2 anymore. Adrian ping me on irc to investigate
that.

There is (should be) no functional change in that patch, indeed it fixes
the changes I badly made through 89d6b39cfe36, by removing r2 from the
list of register clobber by this macro (which doesn't touch it anymore).
It just makes GCC 7 happy.

Cheers,
Laurent
Adrian Reber Feb. 14, 2017, 1:09 p.m.
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@lisas.de>
> > Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> 
> Tested-by: Adrian Reber <adrian@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.

And all test passed for: ./zdtm.py run -f ns -a --keep-going

		Adrian
Pavel Emelianov Feb. 14, 2017, 1:34 p.m.
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@lisas.de>
>>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
>>
>> Tested-by: Adrian Reber <adrian@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

> And all test passed for: ./zdtm.py run -f ns -a --keep-going
> 
> 		Adrian
> .
>
Adrian Reber Feb. 14, 2017, 1:45 p.m.
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@lisas.de>
> >>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> >>
> >> Tested-by: Adrian Reber <adrian@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))
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

 <<< ================================
##################################### FAIL #####################################

I tried to disable SELinux but the error stays the same.

		Adrian
Pavel Emelianov Feb. 14, 2017, 3:10 p.m.
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@lisas.de>
>>>>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
>>>>
>>>> Tested-by: Adrian Reber <adrian@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
> 
>  <<< ================================
> ##################################### FAIL #####################################
> 
> I tried to disable SELinux but the error stays the same.
> 
> 		Adrian
> .
>
Andrey Vagin Feb. 14, 2017, 7:13 p.m.
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@lisas.de>
> >>>>> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> >>>>
> >>>> Tested-by: Adrian Reber <adrian@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@openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
Adrian Reber Feb. 14, 2017, 7:30 p.m.
On Tue, Feb 14, 2017 at 11:13:40AM -0800, Andrei Vagin wrote:
> > >  <<< ================================
> > > ##################################### 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...

Thanks for that information. Good to know. The tests no longer fail now.

		Adrian
Andrey Vagin Feb. 14, 2017, 10:11 p.m.
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@lisas.de>
> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>

Applied, thanks!
> ---
>  criu/arch/ppc64/include/asm/restore.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/criu/arch/ppc64/include/asm/restore.h b/criu/arch/ppc64/include/asm/restore.h
> index bac7bb566abb..8d4516090c65 100644
> --- a/criu/arch/ppc64/include/asm/restore.h
> +++ b/criu/arch/ppc64/include/asm/restore.h
> @@ -21,7 +21,7 @@
>  		: "r"(new_sp),						\
>  		  "r"((unsigned long)restore_task_exec_start),		\
>  		  "r"(task_args)					\
> -		: "r1", "1", "2", "3", "12", "memory")
> +		: "1", "3", "12")
>  
>  /* There is nothing to do since TLS is accessed through r13 */
>  #define core_get_tls(pcore, ptls)
> -- 
> 2.7.4
> 
> _______________________________________________
> CRIU mailing list
> CRIU@openvz.org
> https://lists.openvz.org/mailman/listinfo/criu