[CRIU] [PATCH 2/3] ia32: Rename has_compat_sigreturn => compat_cr

Andrei Vagin avagin at virtuozzo.com
Fri Apr 21 16:38:54 PDT 2017


Accepted, thanks!

On Fri, Apr 21, 2017 at 11:28:11PM +0300, Dmitry Safonov wrote:
> This naming is left from the first compatible kernel patches.
> At that time to return to 32-bit task rt_sigreturn was used with
> a special flag.
> Now it's not true anymore, the naming doesn't relate.
> 
> Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
> ---
>  compel/arch/x86/src/lib/infect.c         | 2 +-
>  compel/include/uapi/infect.h             | 2 +-
>  criu/arch/aarch64/include/asm/restorer.h | 2 +-
>  criu/arch/arm/include/asm/restorer.h     | 2 +-
>  criu/arch/ppc64/include/asm/restorer.h   | 2 +-
>  criu/arch/x86/crtools.c                  | 2 +-
>  criu/arch/x86/include/asm/restorer.h     | 2 +-
>  criu/cr-check.c                          | 2 +-
>  criu/include/kerndat.h                   | 2 +-
>  criu/kerndat.c                           | 4 ++--
>  criu/parasite-syscall.c                  | 4 ++--
>  criu/vdso.c                              | 2 +-
>  12 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/compel/arch/x86/src/lib/infect.c b/compel/arch/x86/src/lib/infect.c
> index b64a55d97748..9c919e64ef13 100644
> --- a/compel/arch/x86/src/lib/infect.c
> +++ b/compel/arch/x86/src/lib/infect.c
> @@ -406,7 +406,7 @@ bool arch_can_dump_task(struct parasite_ctl *ctl)
>  	if (ret < 0)
>  		return false;
>  
> -	if (ret && !(ctl->ictx.flags & INFECT_HAS_COMPAT_SIGRETURN)) {
> +	if (ret && !(ctl->ictx.flags & INFECT_COMPATIBLE)) {
>  		pr_err("Can't dump task %d running in 32-bit mode\n", pid);
>  		return false;
>  	}
> diff --git a/compel/include/uapi/infect.h b/compel/include/uapi/infect.h
> index da0ca3a69e84..005d6bda64f2 100644
> --- a/compel/include/uapi/infect.h
> +++ b/compel/include/uapi/infect.h
> @@ -123,7 +123,7 @@ extern struct infect_ctx *compel_infect_ctx(struct parasite_ctl *);
>  #define INFECT_NO_MEMFD		0x1	/* don't use memfd() */
>  #define INFECT_FAIL_CONNECT	0x2	/* make parasite connect() fail */
>  #define INFECT_NO_BREAKPOINTS	0x4	/* no breakpoints in pie tracking */
> -#define INFECT_HAS_COMPAT_SIGRETURN 0x8
> +#define INFECT_COMPATIBLE	0x8	/* can run parasite inside compat tasks */
>  
>  /*
>   * There are several ways to describe a blob to compel
> diff --git a/criu/arch/aarch64/include/asm/restorer.h b/criu/arch/aarch64/include/asm/restorer.h
> index b5dd42e54319..60cd99fb5c35 100644
> --- a/criu/arch/aarch64/include/asm/restorer.h
> +++ b/criu/arch/aarch64/include/asm/restorer.h
> @@ -52,7 +52,7 @@
>  			: "sp", "x0", "memory")
>  
>  
> -#define kdat_compat_sigreturn_test()			0
> +#define kdat_compatible_cr()			0
>  
>  int restore_gpregs(struct rt_sigframe *f, UserAarch64RegsEntry *r);
>  int restore_nonsigframe_gpregs(UserAarch64RegsEntry *r);
> diff --git a/criu/arch/arm/include/asm/restorer.h b/criu/arch/arm/include/asm/restorer.h
> index f7b963baec13..007260a3a11e 100644
> --- a/criu/arch/arm/include/asm/restorer.h
> +++ b/criu/arch/arm/include/asm/restorer.h
> @@ -53,7 +53,7 @@
>  		     : "memory")
>  
>  
> -#define kdat_compat_sigreturn_test()			0
> +#define kdat_compatible_cr()			0
>  
>  int restore_gpregs(struct rt_sigframe *f, UserArmRegsEntry *r);
>  int restore_nonsigframe_gpregs(UserArmRegsEntry *r);
> diff --git a/criu/arch/ppc64/include/asm/restorer.h b/criu/arch/ppc64/include/asm/restorer.h
> index c779a1869b5b..d16ec26ac081 100644
> --- a/criu/arch/ppc64/include/asm/restorer.h
> +++ b/criu/arch/ppc64/include/asm/restorer.h
> @@ -48,7 +48,7 @@
>  		  "r"(&thread_args[i])		/* %6 */		\
>  		: "memory","0","3","4","5","6","7","14","15")
>  
> -#define kdat_compat_sigreturn_test()			0
> +#define kdat_compatible_cr()			0
>  
>  int restore_gpregs(struct rt_sigframe *f, UserPpc64RegsEntry *r);
>  int restore_nonsigframe_gpregs(UserPpc64RegsEntry *r);
> diff --git a/criu/arch/x86/crtools.c b/criu/arch/x86/crtools.c
> index bce19aa6e758..d0121b48e308 100644
> --- a/criu/arch/x86/crtools.c
> +++ b/criu/arch/x86/crtools.c
> @@ -26,7 +26,7 @@
>  #include "images/core.pb-c.h"
>  #include "images/creds.pb-c.h"
>  
> -int kdat_compat_sigreturn_test(void)
> +int kdat_compatible_cr(void)
>  {
>  #ifdef CONFIG_COMPAT
>  	unsigned long auxval;
> diff --git a/criu/arch/x86/include/asm/restorer.h b/criu/arch/x86/include/asm/restorer.h
> index e8a61962095c..acd7218f833b 100644
> --- a/criu/arch/x86/include/asm/restorer.h
> +++ b/criu/arch/x86/include/asm/restorer.h
> @@ -69,7 +69,7 @@ arch_compat_rt_sigaction(void *stack, int sig, void *act) { return -1; }
>  # define ARCH_MAP_VDSO_32		0x2002
>  #endif
>  
> -extern int kdat_compat_sigreturn_test(void);
> +extern int kdat_compatible_cr(void);
>  
>  static inline void
>  __setup_sas_compat(struct ucontext_ia32* uc, ThreadSasEntry *sas)
> diff --git a/criu/cr-check.c b/criu/cr-check.c
> index 1a1cd80ebe0e..ec0020dba4fc 100644
> --- a/criu/cr-check.c
> +++ b/criu/cr-check.c
> @@ -1059,7 +1059,7 @@ static int check_loginuid(void)
>  static int check_compat_cr(void)
>  {
>  #ifdef CONFIG_COMPAT
> -	if (kdat_compat_sigreturn_test())
> +	if (kdat_compatible_cr())
>  		return 0;
>  	pr_warn("compat_cr is not supported. Requires kernel >= v4.9\n");
>  #else
> diff --git a/criu/include/kerndat.h b/criu/include/kerndat.h
> index 60c69c3e1978..c248a1b8f53e 100644
> --- a/criu/include/kerndat.h
> +++ b/criu/include/kerndat.h
> @@ -34,7 +34,7 @@ struct kerndat_s {
>  	unsigned long task_size;
>  	bool ipv6;
>  	bool has_loginuid;
> -	bool has_compat_sigreturn;
> +	bool compat_cr;
>  	bool sk_ns;
>  	enum pagemap_func pmap;
>  	unsigned int has_xtlocks;
> diff --git a/criu/kerndat.c b/criu/kerndat.c
> index 22dd1e8c4224..bf21cfa70ba8 100644
> --- a/criu/kerndat.c
> +++ b/criu/kerndat.c
> @@ -581,11 +581,11 @@ int kerndat_nsid(void)
>  
>  static int kerndat_compat_restore(void)
>  {
> -	int ret = kdat_compat_sigreturn_test();
> +	int ret = kdat_compatible_cr();
>  
>  	if (ret < 0) /* failure */
>  		return ret;
> -	kdat.has_compat_sigreturn = !!ret;
> +	kdat.compat_cr = !!ret;
>  	return 0;
>  }
>  
> diff --git a/criu/parasite-syscall.c b/criu/parasite-syscall.c
> index 30b0a5ed49c1..93d790aacc85 100644
> --- a/criu/parasite-syscall.c
> +++ b/criu/parasite-syscall.c
> @@ -515,8 +515,8 @@ struct parasite_ctl *parasite_infect_seized(pid_t pid, struct pstree_item *item,
>  		ictx->flags |= INFECT_FAIL_CONNECT;
>  	if (fault_injected(FI_NO_BREAKPOINTS))
>  		ictx->flags |= INFECT_NO_BREAKPOINTS;
> -	if (kdat.has_compat_sigreturn)
> -		ictx->flags |= INFECT_HAS_COMPAT_SIGRETURN;
> +	if (kdat.compat_cr)
> +		ictx->flags |= INFECT_COMPATIBLE;
>  
>  	ictx->log_fd = log_get_fd();
>  
> diff --git a/criu/vdso.c b/criu/vdso.c
> index 8bc7b5d3b951..5f7cad4ed3b8 100644
> --- a/criu/vdso.c
> +++ b/criu/vdso.c
> @@ -455,7 +455,7 @@ int vdso_init(void)
>  		pr_err("Failed to fill self vdso symtable\n");
>  		return -1;
>  	}
> -	if (kdat.has_compat_sigreturn &&
> +	if (kdat.compat_cr &&
>  			vdso_fill_compat_symtable(&vdso_sym_rt, &vdso_compat_rt)) {
>  		pr_err("Failed to fill compat vdso symtable\n");
>  		return -1;
> -- 
> 2.12.2
> 
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list