[CRIU] [PATCH 1/2] arch: Fix sys_clone() arguments order
Dmitry Safonov
dsafonov at virtuozzo.com
Tue May 16 12:58:43 PDT 2017
On 05/16/2017 10:45 PM, Kirill Tkhai wrote:
> The right order for all of our 4 archs is:
>
> SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
> int __user *, parent_tidptr,
> unsigned long, tls,
> int __user *, child_tidptr)
>
> See Linux kernel for the details.
>
> Note, this is just a fix, and it's not connected with the second patch.
>
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Reviewed-by: Dmitry Safonov <dsafonov at virtuozzo.com>
> ---
> compel/arch/arm/plugins/std/syscalls/syscall.def | 2 +-
> .../ppc64/plugins/std/syscalls/syscall-ppc64.tbl | 2 +-
> .../arch/x86/plugins/std/syscalls/syscall_32.tbl | 2 +-
> .../arch/x86/plugins/std/syscalls/syscall_64.tbl | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/compel/arch/arm/plugins/std/syscalls/syscall.def b/compel/arch/arm/plugins/std/syscalls/syscall.def
> index 3f48d88c7..b6aa59e42 100644
> --- a/compel/arch/arm/plugins/std/syscalls/syscall.def
> +++ b/compel/arch/arm/plugins/std/syscalls/syscall.def
> @@ -42,7 +42,7 @@ shutdown 210 293 (int sockfd, int how)
> bind 235 282 (int sockfd, const struct sockaddr *addr, int addrlen)
> setsockopt 208 294 (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
> getsockopt 209 295 (int sockfd, int level, int optname, const void *optval, socklen_t *optlen)
> -clone 220 120 (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
> +clone 220 120 (unsigned long flags, void *child_stack, void *parent_tid, unsigned long newtls, void *child_tid)
> exit 93 1 (unsigned long error_code)
> wait4 260 114 (int pid, int *status, int options, struct rusage *ru)
> waitid 95 280 (int which, pid_t pid, struct siginfo *infop, int options, struct rusage *ru)
> diff --git a/compel/arch/ppc64/plugins/std/syscalls/syscall-ppc64.tbl b/compel/arch/ppc64/plugins/std/syscalls/syscall-ppc64.tbl
> index b4ac63eb1..c0fab4118 100644
> --- a/compel/arch/ppc64/plugins/std/syscalls/syscall-ppc64.tbl
> +++ b/compel/arch/ppc64/plugins/std/syscalls/syscall-ppc64.tbl
> @@ -41,7 +41,7 @@ __NR_shutdown 338 sys_shutdown (int sockfd, int how)
> __NR_bind 327 sys_bind (int sockfd, const struct sockaddr *addr, int addrlen)
> __NR_setsockopt 339 sys_setsockopt (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
> __NR_getsockopt 340 sys_getsockopt (int sockfd, int level, int optname, const void *optval, socklen_t *optlen)
> -__NR_clone 120 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
> +__NR_clone 120 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, unsigned long newtls, void *child_tid)
> __NR_exit 1 sys_exit (unsigned long error_code)
> __NR_wait4 114 sys_wait4 (int pid, int *status, int options, struct rusage *ru)
> __NR_kill 37 sys_kill (long pid, int sig)
> diff --git a/compel/arch/x86/plugins/std/syscalls/syscall_32.tbl b/compel/arch/x86/plugins/std/syscalls/syscall_32.tbl
> index 0eea9d061..c67fc4955 100644
> --- a/compel/arch/x86/plugins/std/syscalls/syscall_32.tbl
> +++ b/compel/arch/x86/plugins/std/syscalls/syscall_32.tbl
> @@ -32,7 +32,7 @@ __NR_setitimer 104 sys_setitimer (int which, struct itimerval *in, struct iti
> __NR_getitimer 105 sys_getitimer (int which, struct itimerval *it)
> __NR_wait4 114 sys_wait4 (pid_t pid, int *stat_addr, int options, struct rusage *ru)
> __NR_ipc 117 sys_ipc (unsigned int call, int first, unsigned long second, unsigned long third, void *ptr, long fifth)
> -__NR_clone 120 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
> +__NR_clone 120 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, unsigned long newtls, void *child_tid)
> __NR_mprotect 125 sys_mprotect (const void *addr, unsigned long len, unsigned long prot)
> __NR_getpgid 132 sys_getpgid (pid_t pid)
> __NR_personality 136 sys_personality (unsigned int personality)
> diff --git a/compel/arch/x86/plugins/std/syscalls/syscall_64.tbl b/compel/arch/x86/plugins/std/syscalls/syscall_64.tbl
> index c291c9a42..e1c198929 100644
> --- a/compel/arch/x86/plugins/std/syscalls/syscall_64.tbl
> +++ b/compel/arch/x86/plugins/std/syscalls/syscall_64.tbl
> @@ -37,7 +37,7 @@ __NR_shutdown 48 sys_shutdown (int sockfd, int how)
> __NR_bind 49 sys_bind (int sockfd, const struct sockaddr *addr, int addrlen)
> __NR_setsockopt 54 sys_setsockopt (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
> __NR_getsockopt 55 sys_getsockopt (int sockfd, int level, int optname, const void *optval, socklen_t *optlen)
> -__NR_clone 56 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
> +__NR_clone 56 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, unsigned long newtls, void *child_tid)
> __NR_exit 60 sys_exit (unsigned long error_code)
> __NR_wait4 61 sys_wait4 (int pid, int *status, int options, struct rusage *ru)
> __NR_kill 62 sys_kill (long pid, int sig)
>
--
Dmitry
More information about the CRIU
mailing list