[CRIU] [PATCH 3/3] crtools: no more linked with builtin syscall

Andrew Vagin avagin at virtuozzo.com
Mon Mar 14 15:56:55 PDT 2016


On Wed, Feb 03, 2016 at 05:13:48PM +0100, Laurent Dufour wrote:
> diff --git a/shmem.c b/shmem.c
> index b2900f4f875d..0f9da630ccc5 100644
> --- a/shmem.c
> +++ b/shmem.c
> @@ -216,7 +216,7 @@ int get_shmem_fd(int pid, VmaEntry *vi)
>  
>  	flags = MAP_SHARED;
>  	if (kdat.has_memfd) {
> -		f = sys_memfd_create("", 0);
> +		f = syscall(SYS_memfd_create, "", 0);

SYS_memfd_create is defined in glibc which is updated after the kernel.

Without this patch we could install a new kernel and start to use new
system calls.

Now we need to wait when these syscalls appear in glibc. We need to
find a way how to fix this issue.

* It is impossible to test new feature in linux-next kernels
* We back-port a required syscalls into the OpenVZ kernel (e.g.
  memfd_create), but we don't provide glibc for these kernels.

Can we generate a header file with system-call numbers?

>  		if (f < 0) {
>  			pr_perror("Unable to create memfd");
>  			goto err;


More information about the CRIU mailing list