1. 06 Sep, 2016 2 commits
  2. 15 Aug, 2016 1 commit
    • Pavel Emelyanov's avatar
      criu: Version 2.5 · c0314172
      Pavel Emelyanov authored
      Bug-fix mostly release.
      
      We've also came very close in -dev branch to having x86 32bit
      support, so hopefully we'll have it in 2.6/2.7. Lazy restore
      now in test-able state, but still we want kernel patches to
      leave maintainer's tree, so we still wait.
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      c0314172
  3. 11 Aug, 2016 20 commits
  4. 08 Aug, 2016 11 commits
  5. 05 Aug, 2016 1 commit
  6. 02 Aug, 2016 1 commit
    • Dmitry Safonov's avatar
      cr-exec: initialize kdat.{task_size, has_compat_sigreturn} on criu exec · da9315d8
      Dmitry Safonov authored
      For `criu exec` we are searching for a place for syscall injection.
      While searching for a VMA with PROT_EXEC and with needed size,
      we check that VMA is lower than task_size.
      The callpath for it is:
      cr_exec => parasite_prep_ctl => get_vma_by_ip
      
      Firstly, I thought to omit kdat.task_size checking if it's not inited:
      > if (vma_area->e->start >= kdat.task_size && kdat.task_size)
      but I think it's a hack then a proper solution.
      Besides, this code still can choose VMA over task_size on ARM
      and try to inject syscall there (IIRC, ARM has kernel-mapped
      VMA in that area).
      
      So, lets init kdat.task_size for `criu exec`.
      Also lets init kdat.has_compat_sigreturn so we could exec into
      compatible applications.
      
      Cc: Christopher Covington <cov@codeaurora.org>
      Cc: Andrew Vagin <avagin@virtuozzo.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Reviewed-by: 's avatarChristopher Covington <cov@codeaurora.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      da9315d8
  7. 01 Aug, 2016 4 commits
    • Dmitry Safonov's avatar
      build/nmk: declare build-as as a recursive · 3693c5e6
      Dmitry Safonov authored
      So, how it was working:
      1. build-as was declared with $$(1) and $$(2) which were expanded
      on entering the submake;
      2. function $(call build-as,...) performed the second expansion of
      build-as.
      
      Cons: build-as works only in sub-makefile, no sub-sub-makefile, no
      upper/top makefile.
      
      Simplify this by single $(1).
      Then build-as variable will be used _only_ in makefile, not in
      sub-makefiles.
      
      This is for now fine, as each file, that calls $(MAKE) with
      $(build)=dir or $(call build-as,makefile,dir) will include main.mk
      from NMK, which has build-as definition (from include.mk).
      
      In the future, we'll get rid of $(build) and $(build-as) workarounds
      as finally switch to building from a global makefile.
      
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      3693c5e6
    • Dmitry Safonov's avatar
      build/make: return to make from top directory · 7a360484
      Dmitry Safonov authored
      It looks like, there is not so much that needs to be fixed for
      building criu from a top directory.
      After the patch it's possible to do `make criu/mount.o` i.e.
      It will build protobuf, compel as dependencies (if they are not built),
      but no more from criu objects. If something breaks, you can
      do make from vim and jump to error. Nice.
      Mostly the patch corrects pathes to objects - I tried to make them
      depend on $(obj) or $(SRC_DIR)/criu, where it's possible.
      
      After it tested:
      `make -j 10`, `make criu/log.o`, `make clean`, `make mrproper`,
      `make install DESTDIR=/tmp/criu`, `make uninstall DESTDIR=/tmp/criu`
      
      Note: I improperly called v1 for this patch as "return to make from
      top Makefile" -- but I didn't mean that (and it was friday ;)
      
      This patch doesn't yet switch to top-Makefile building, but that's
      a step in that way (building from a top Makefile needs correct pathes
      in makefiles) which also adds ability to build objects in subdirectories
      and etc.
      
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      7a360484
    • Tycho Andersen's avatar
      restore: handle the case where zombies are reparented · a9a62403
      Tycho Andersen authored
      For example, if a zombie has a helper that sets up its session id, the
      zombie will be reparented to the init task, which will then potentially get
      a SIGCHLD for a task which isn't its direct child zombie, which we didn't
      handle. Instead, let's find all the zombies for the init task, in case they
      get reparented this way.
      
      v2: only the zombies need to be recursively collected, helpers wait on
          their children before they exit and will never be reparented
      v4: the root task waits all zombies
      Reported-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Cc: Tycho Andersen <tycho.andersen@canonical.com>
      Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      a9a62403
    • Cyrill Gorcunov's avatar
      mount: sysfs -- Use slave mounting for the root · 1727742f
      Cyrill Gorcunov authored
      Seems this snippet escaeped from commit
      84bf1ad4
      so we may get -EBUSY in open_detach_mount.
      Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
      Acked-by: 's avatarAndrey Vagin <avagin@virtuozzo.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      1727742f