1. 11 Jul, 2016 1 commit
    • Pavel Emelyanov's avatar
      criu: Version 2.4 · 9a97e0ca
      Pavel Emelyanov authored
      This time we have a bunch of new features, such as more
      cgroup stuff, AutoFS, coredump out of images, etc.
      
      Virtuozzo guys have released vz7-rtm, and fixed a lot
      of bugs in criu while doing it :)
      
      Plus some ancient stuff removed.
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      9a97e0ca
  2. 09 Jul, 2016 6 commits
    • Pavel Emelyanov's avatar
      90098fe8
    • Andrew Vagin's avatar
      221867c5
    • Adrian Reber's avatar
      criu: almost fix building on Alpine Linux · 09a2afe0
      Adrian Reber authored
      It seems that the different libc (musl) which Alpine Linux uses produces
      different errors than the usual glibc. This patch fixes most include
      errors. Two errors are not yet resolved on Alpine Linux's libc (musl):
      
       * proc_parse.c: In function 'parse_posix_timers':
         proc_parse.c:2125:34: error: 'SIGEV_THREAD_ID' undeclared (first use in this function)
              timer->spt.it_sigev_notify = SIGEV_THREAD_ID;
      
         proc_parse.c:2125:34: note: each undeclared identifier is reported only once for each function it appears in
      
         Seems difficult to fix as including <linux/signal.h>, which provides
         this #define, generates more different error messages related to
         time.h and linux/time.h collisions. It is not yet clear if additional
         guards would help in the header files.
      
       * fsnotify.c: In function 'open_by_handle':
         fsnotify.c:107:9: error: implicit declaration of function 'open_by_handle_at' [-Werror=implicit-function-declaration]
           return open_by_handle_at(fd, arg, O_PATH);
      
         The function open_by_handle_at() is not provided by Alpine Linux's
         libc (musl).
      
      This patch resolves the following errors/warnings and has been tested on
      RHEL7(x86_64/powerpc64le) and Fedora 24:
      
      cr-service.c: In function 'cr_service':
      cr-service.c:1082:26: error: passing argument 2 of 'accept' from incompatible pointer type [-Werror=incompatible-pointer-types]
         sk = accept(server_fd, &client_addr, &client_addr_len);
                              ^
      In file included from /usr/include/fortify/sys/socket.h:20:0,
                       from cr-service.c:11:
      /usr/include/sys/socket.h:301:5: note: expected 'struct sockaddr * restrict' but argument is of type 'struct sockaddr_un *'
       int accept (int, struct sockaddr *__restrict, socklen_t *__restrict);
           ^
      cc1: all warnings being treated as errors
      
      files.c: In function 'open_transport_fd':
      files.c:845:19: error: passing argument 2 of 'bind' from incompatible pointer type [-Werror=incompatible-pointer-types]
        ret = bind(sock, &saddr, sun_len);
                         ^
      In file included from /usr/include/fortify/sys/socket.h:20:0,
                       from files.c:12:
      /usr/include/sys/socket.h:298:5: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_un *'
       int bind (int, const struct sockaddr *, socklen_t);
           ^
      cc1: all warnings being treated as errors
      
      In file included from fsnotify.c:18:0:
      /usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror=cpp]
       #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
        ^
      cc1: all warnings being treated as errors
      
      In file included from /root/criu/criu/include/timerfd.h:7:0,
                       from /root/criu/criu/include/restorer.h:18,
                       from arch/x86/crtools.c:16:
      /root/criu/criu/include/files.h:43:14: error: field 'stat' has incomplete type
        struct stat stat;
      
      In file included from arch/x86/vdso-pie.c:6:0:
      /root/criu/criu/include/syscall.h:22:66: error: unknown type name 'loff_t'
       extern long sys_pread (unsigned int fd, char *buf, size_t count, loff_t pos) ;
                                                                        ^
      /root/criu/criu/include/syscall.h:83:31: error: unknown type name 'clockid_t'
       extern long sys_timer_create (clockid_t which_clock, struct sigevent *timer_event_spec, kernel_timer_t *created_timer_id
                                     ^
      /root/criu/criu/include/syscall.h:88:38: error: unknown type name 'clockid_t'
       extern long sys_clock_gettime (const clockid_t which_clock, const struct timespec *tp) ;
                                            ^
      
      In file included from netfilter.c:5:0:
      /usr/include/wait.h:1:2: error: #warning redirecting incorrect #include <wait.h> to <sys/wait.h> [-Werror=cpp]
       #warning redirecting incorrect #include <wait.h> to <sys/wait.h>
        ^
      cc1: all warnings being treated as errors
      
      pie/restorer.c: In function '__export_restore_task':
      pie/restorer.c:1276:23: error: 'LOCK_EX' undeclared (first use in this function)
         ret = sys_flock(fd, LOCK_EX);
                             ^
      pie/restorer.c:1276:23: note: each undeclared identifier is reported only once for each function it appears in
      pie/restorer.c:1310:23: error: 'LOCK_UN' undeclared (first use in this function)
         ret = sys_flock(fd, LOCK_UN);
                             ^
      
      sk-unix.c: In function 'open_unixsk_standalone':
      sk-unix.c:1169:19: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
         if (connect(sk, &addr, sizeof(addr.sun_family))) {
                         ^
      In file included from /usr/include/fortify/sys/socket.h:20:0,
                       from sk-unix.c:1:
      /usr/include/sys/socket.h:299:5: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_un *'
       int connect (int, const struct sockaddr *, socklen_t);
           ^
      cc1: all warnings being treated as errors
      
      c/criu.c: In function 'criu_local_set_parent_images':
      c/criu.c:169:26: error: implicit declaration of function 'strdup' [-Werror=implicit-function-declaration]
        opts->rpc->parent_img = strdup(path);
      Signed-off-by: 's avatarAdrian Reber <areber@redhat.com>
      Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      09a2afe0
    • Tycho Andersen's avatar
      tests: expand the list of cgroup devices written · 7d094517
      Tycho Andersen authored
      Hopefully this would/will trigger more of these types of bugs; I took this
      list straight from Adrian's report.
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      CC: Adrian Reber <adrian@lisas.de>
      Tested-by: 's avatarAdrian Reber <areber@redhat.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      7d094517
    • Tycho Andersen's avatar
      cgroup: only write one device entry at a time · 0e83397d
      Tycho Andersen authored
      We seem to have some reports of:
      
      Error (cgroup.c:1193): cg: Failed writing c *:* m
      b *:* m
      c 1:3 rwm
      c 1:5 rwm
      c 1:7 rwm
      c 5:0 rwm
      c 5:2 rwm
      c 1:8 rwm
      c 1:9 rwm
      c 136:* rwm
      c 10:229 rwm to devices//lxc/c7/devices.allow: Argument list too long
      
      so let's try and write these lines one by one, instead of simply advancing
      the pointer along in the string. It's probably cleaner this way anyway :)
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      CC: Adrian Reber <adrian@lisas.de>
      Tested-by: 's avatarAdrian Reber <areber@redhat.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      0e83397d
    • Andrey Vagin's avatar
      parasite: include syscall-codes.h to get __NR_memfd_create · 499f926f
      Andrey Vagin authored
        CC       parasite-syscall.o
      parasite-syscall.c: In function ‘parasite_memfd_exchange’:
      parasite-syscall.c:1223:28: error: ‘__NR_memfd_create’ undeclared (first
      use in this function)
        ret = syscall_seized(ctl, __NR_memfd_create, &sret,
      Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      499f926f
  3. 07 Jul, 2016 22 commits
  4. 05 Jul, 2016 11 commits