Skip to content
Permalink
Branch: criu-dev
Commits on Mar 14, 2017
  1. compel: fix build break on ppc64le

    ldu4 authored and avagin committed Oct 12, 2016
    This patch fix a build break on ppc64le introduced by changes in the
    compel's build option.
    
    I factorized the common CFLAGS to make easier identifying particular
    flags required by some architectures.
    
    Fixes: fef01d7 ("compel: cli -- Add more flags into cflags report")
    travis-ci: success for compel: fix build break on ppc64le
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
    Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
  2. parasite: simplify syscall check

    ldu4 authored and avagin committed Jul 19, 2016
    In is_required_syscall() req_sysnr is set according to the native mode
    so we can check the syscall number directly against it.
    
    No functional change expected.
    
    Cc: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
    Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Commits on Feb 17, 2017
  1. ppc64: Fix clobber list item for JUMP_TO_RESTORER_BLOB

    ldu4 authored and xemul committed Feb 17, 2017
    The JUMP_TO_RESTORER_BLOB assembly macro has been rewrote through the
    commit '89d6b39cfe36 ppc64: pie -- Add ppc64le relocation's
    processing', but the Clobber list hasn't been updated.
    
    This doesn't generate build neither runtime errors since the Clobber
    list was larger than needed but GCC 7 is now raising an error when an
    assembly macro is clobbering the r2 register.
    
    This patch fix the Clobber list to just modified registers.
    
    Fixes: 89d6b39 ("ppc64: pie -- Add ppc64le relocation's processing")
    Reported-by: Adrian Reber <adrian@lisas.de>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Nov 2, 2016
  1. test/zdtm: fix netns-nf dependency on ppc64

    ldu4 authored and xemul committed Oct 27, 2016
    On Ubuntu ppc64le, the libxt_standard.so is installed under a
    different path.
    Adding this path to the dependency list to make the test running on
    ppc64le.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Oct 13, 2016
  1. arch: Introduce user_fpregs_struct_t on ppc64

    ldu4 authored and xemul committed Oct 11, 2016
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
    [ldufour@linux.vnet.ibm.com: mostly rewrite to fix functional issue]
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. ppc64: use vector128 type for Altivec data

    ldu4 authored and xemul committed Oct 11, 2016
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Sep 7, 2016
  1. Fixing commit c220f6d

    ldu4 authored and xemul committed Sep 7, 2016
    Dmitry:
        Thanks for the patch, it looks like it was part of commit 1c249d0
        ("x86: add 32-bit sigframe for rt_sigreturn") from criu-dev.
        When I've prepared the patches set, I've tested patches separately from
        the set on x86, but hadn't possibility to test them separately on ppc.
        And for x86 it didn't matter when to call restore_gpregs() before compat
        patches, so I didn't catch that it does matter for ppc.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Sep 6, 2016
  1. ppc64: handle transactional memory state

    ldu4 authored and xemul committed Aug 31, 2016
    The Power 8 introduces the transactional memory (TM) operations (see
    Power ISA 3.0 for details).
    
    The support for the transactional memory operation during the
    checkpoint and restart requires extended ptrace API provided by the
    kernel 4.8.
    
    When checkpointing a thread while a transactional memory operation is
    in progress, the TM checkpointed state is checkpointed through the new
    ptrace API. If these new APIs are not available, the checkpoint is
    aborted and an explicit error is reported.
    
    At restart time, the TM state is pushed on the stack frame to be
    reloaded by the kernel when reading the stack frame.
    
    Only suspended TM operation could be checkpointed since active one
    will be aborted once a system call is made. Suspended operation will
    be aborted as well, and the checkpointed thread is expected to handle
    the TM failure as usual (retrying is a good option).
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. ppc64: Extract copy to protobuf functions

    ldu4 authored and xemul committed Aug 31, 2016
    Since the Transactional memory state will contains VSX, VMX and FP
    registers, extracting the common code copying data to protobuf buffer in
    separate functions.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  3. ppc64: introduces NVSXREG constant

    ldu4 authored and xemul committed Aug 31, 2016
    The new constant NVSXREG is defining the number of double word needed
    to be save to get the remaining part of the VSX registers to be save.
    
    A major part of the VSX registers is saved when saving FPU and Altivec
    registers.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  4. ppc64: rely on NVRREG define

    ldu4 authored and xemul committed Aug 31, 2016
    When dealing with the number of Altivec registers (VR), we should use
    the NVRREG constant defined in system file
    /usr/include/powerpc64le-linux-gnu/sys/ucontext.h.
    
    However this constant take in account the extra quad word containing
    vrsave in split vectors so we must remove 1 to get the exact number of
    registers VR.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  5. ppc64: Fix error message

    ldu4 authored and xemul committed Aug 31, 2016
    Don't display an error message when the checkpointed data read at
    restart time are corrupted.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  6. ppc64: review the comment style in proto file

    ldu4 authored and xemul committed Aug 31, 2016
    No more use C++ comment style
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Aug 1, 2016
  1. pstree: bump kernel pid_max value if needed

    ldu4 authored and xemul committed Jul 22, 2016
    When restoring on a different node, it may happen that pid_max is
    below one of the pid we wanted to recreate.
    This leads to a restore error when cloning the restarted process:
    
    (00.011172) Forking task with 44794 pid (flags 0x0)
    (00.011205) Error (cr-restore.c:1008): 44794: Write 44793 to sys/kernel/ns_last_pid: Invalid argument
    
    This patch computes the largest pid value and sets the kernel pid_max if
    necessary.
    
    If the user don't have the permission to do so, the restart is
    failing mentioning that we can't push the pid_max limit.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. Fix minor printf format

    ldu4 authored and xemul committed Jul 19, 2016
    In cr-restore printf() format is mixing "%p" and the prefix "0x" which is
    already managed by "%p". This leads to log lines like:
    
    (00.053282)  38744: Found bootstrap VMA hint at: 0x0x100000 (needs ~576K)
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Jun 14, 2016
  1. test/zdtm : shm-mp fix page size

    ldu4 authored and xemul committed Jun 9, 2016
    Test should not assume that page size is 4096.
    
    The test was failing on ppc64 where page size is usually 64K.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Mar 23, 2016
  1. ppc64: Fix build regressions

    ldu4 authored and xemul committed Mar 21, 2016
    The build on powerPC has been broken when doing some code cleanup
    recently.
    
    This patch fixes these regressions.
    
    Fixes: f8a1a1d ("parasite-syscall: get rid of code_syscall{,size} globals")
    Fixes: 69d8824 ("sigframe: move setup_sas & make it inliner")
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Dmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Mar 21, 2016
  1. cr-check: fix kcmp check

    ldu4 authored and xemul committed Mar 16, 2016
    The commit 16e673c ("cr-check: Inspect errno on syscall
    failures") reverts the way the returned the error returned by kcmp is
    checked. As a consequence 'criu check' is always failing with the
    following message:
    
    Error (cr-check.c:165): System call kcmp is not supported: No such process
    
    This patch ensure is reported only if syscall(SYS_kcmp) returns
    ENOSYS.
    
    Fixes: 16e673c ("cr-check: Inspect errno on syscall failures")
    Looks-good-to: Filipe Brandenburger <filbranden@google.com>
    Cc: Pavel Emelyanov <xemul@virtuozzo.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Mar 16, 2016
  1. git: ignore scripts/build/qemu-user-static/*

    ldu4 authored and xemul committed Mar 15, 2016
    Cc: Andrey Vagin <avagin@openvz.org>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. build: Conditionally defined SYS_* constants

    ldu4 authored and xemul committed Mar 15, 2016
    This patch changes the way the per architecture syscall-codes.h is
    generated to define __NR* and SYS_* constants only if there are not
    already defined.
    
    This way this file could be included in the C files calling syscall()
    to ensure the SYS_* constant is defined even if the C library is too
    old.
    
    The file syscall-codes.h should be included after the C library header
    files.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Feb 26, 2016
  1. build: introduce etags target

    ldu4 authored and xemul committed Feb 25, 2016
    The tags target should only create tag file using ctags.
    For those who like to run emacs, the new target etags is generating
    the TAGS file.
    
    Cc: Dmitry Safonov <dsafonov@virtuozzo.com>
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Cc: Pavel Emelyanov <xemul@virtuozzo.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Feb 24, 2016
  1. build: scripts/utilities.mak is not more used

    ldu4 authored and xemul committed Feb 24, 2016
    Cc: Cyrill Gorcunov <gorcunov@gmail.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. build: generate emacs tags file and clean tags

    ldu4 authored and xemul committed Feb 24, 2016
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  3. nmk: add cscope, etags and ctags wrappers

    ldu4 authored and xemul committed Feb 24, 2016
    Cc: Cyrill Gorcunov <gorcunov@gmail.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  4. build: Use ppc64 for PowerPC 64 bits architecture

    ldu4 authored and xemul committed Feb 24, 2016
    The nmk framework now references PowerPC 64 bits architectures as
    ppc64. This applies for both little endian, and the future supported
    big endian one.
    
    Acked-by: Cyrill Gorcunov <gorcunov@gmail.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  5. nmk: Use ppc64 for PowerPC 64 bits architecture

    ldu4 authored and xemul committed Feb 24, 2016
    This is usual to reference PowerPC 64 bits architectures as 'ppc64',
    and let 'powerpc' define PowerPC 32 bits ones.
    
    Acked-by: Cyrill Gorcunov <gorcunov@gmail.com>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Feb 15, 2016
  1. build: test -- Fix criu-rtc.so build error

    ldu4 authored and xemul committed Feb 15, 2016
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Feb 6, 2016
  1. crtools: no more linked with builtin syscall

    ldu4 authored and xemul committed Feb 3, 2016
    crtools binary is linked with the C library and could rely on all the
    services this library is providing, including system calls.
    
    Thus it doesn't need to be linked with the builtin system calls code
    made for the parasite/restorer binaries.
    
    This patch does:
     - remove the inclusion of syscall.h
     - replace all call to sys_<syscall>() by C library <syscall>()
     - replace unwrapped system calls by syscall(SYS_<syscall>,...)
     - fix the generated compiler's issues.
    
    There should not be any functional changes. The only 'code' changes is
    appearing in locks.h when futex is called through the C library, the
    errno value is fetched from errno variable instead of the return
    value.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Christopher Covington <cov@codeaurora.org>
    Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. namespace: move definition of CLONE_SUBNS

    ldu4 authored and xemul committed Feb 3, 2016
    The CRIU internal define of CLONE_SUBNS should not be put in
    syscall-types.h since this define is not part of a system call.
    
    This move is required to prepare the removal of syscall.h from the
    component of crtools binary.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Christopher Covington <cov@codeaurora.org>
    Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  3. build: conditional define of struct prctl_mm_map

    ldu4 authored and xemul committed Feb 3, 2016
    The file include/prctl.h should define the struct prctl_mm_map only if
    it is not already defined in the system include file linux/prctl.h.
    
    The definition should be part of the '#ifndef PR_SET_MM_MAP' block
    since this structure is not defined in that case.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Reviewed-by: Christopher Covington <cov@codeaurora.org>
    Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Feb 3, 2016
  1. test/arm: Fix building on armv7l architecture

    ldu4 authored and xemul committed Feb 2, 2016
    The issue here is that ARCH is not overwritten if the caller Makefile
    already define it, and the upper Makefile is not overwriting the ARCH
    define to "arm", when it is "armv7l" for instance, so the SRCARCH is
    set to "armv7l" which is wrong.
    
    With this patch, SRCARCH is using the inherinted define if called from
    the top level Makefile.
    
    This is required to build test on armv7l architecture (qemu).
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Commits on Jan 18, 2016
  1. ppc64: introduce CPU feature checking operations

    ldu4 authored and xemul committed Jan 15, 2016
    This patch introduces basic CPU feature checking for PowerPC.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  2. zdtm/test: Fix live/static/netns-nf dependency

    ldu4 authored and xemul committed Jan 15, 2016
    This test calls iptables to set a new packet filter using a shared
    library libxt_standard.so. Unfortunately, depending on the
    distribution we are running on, this shared library may be stored on a
    different place.
    
    This patch allows this test to be run on Debian like systems.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  3. zdtm.py: Add optional dependency support

    ldu4 authored and xemul committed Jan 15, 2016
    Depending on the distribution, binaries or shared libraries a test is
    dependent of may not be stored at the same place.
    
    This patch introduces the ability to define option in the dependency
    list, by separating the optional target names by a '|' character.
    
    For instance the dependency of test may be described this way:
    {'flavor': 'ns', 'deps': [ '/bin/foo|/usr/bin/foo' ], 'flags': 'suid'}
    
    Note, there shouldn't be any spaces around the '|'.
    
    If none of the optional dependency is satisfied, an error is raised.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
  4. zdtm: Use /usr/bin/diff instead of /bin/diff

    ldu4 authored and xemul committed Jan 14, 2016
    The descriptor for test netns-nf and netns are referencing /bin/diff.
    On Fedora this is a hard link to /usr/bin/diff created during the
    install of the package diffutils. However this hard link doesn't exist
    on Debian like systems.
    
    Referencing /usr/bin/diff works in both cases.
    
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Older
You can’t perform that action at this time.