- 04 Nov, 2018 4 commits
-
-
Dmitry Safonov authored
It looks like, this one is no more needed. You were a hard child, RIP. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Dmitry Safonov authored
Kernel will send signal with ABI of *syscall* that made rt_sigacation(). In sigaction_compat_abi(): > if (in_ia32_syscall()) > act->sa.sa_flags |= SA_IA32_ABI; So, we can omit switching to ia32 mode and just call int80 like in other places. We still need 32-bit argument for syscall (sig action pointer). As call32_from_64() switches mode, it's .text should be placed in lower 4Gb, which was the reason of segfault if linker places criu code above 4Gb. Oops, my bad. Fixes: #567 Reported-by:
Andrey Vagin <avagin@gmail.com> Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Dmitry Safonov authored
Looks like, we're missing the check which potentially can add us some troubles. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Dmitry Safonov authored
%ebx, %ecx aren't specified as clobbers in chk_proc_fpu(), while asm cpuid overwrites them. In the turn, %ebx is used as a code position by gcc now: 1661: e8 9a 00 00 00 call 1700 <__x86.get_pc_thunk.bx> 1666: 81 c3 46 68 00 00 add $0x6846,%ebx Which results in dereferencing some ugly garbage (result of cpuid). Let's use zdtm/lib cpuid() function instead. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
- 30 Oct, 2018 36 commits
-
-
Andrei Vagin authored
Invalid lock info: lock: 1: FLOCK ADVISORY READ 61 103:00:1188168 0 EOF Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
flake8 started to report warnings like this: test/zdtm.py:1337:6: W605 invalid escape sequence '\S' Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
Here is one of popular error, when we call fork, then run a child code and instead of exiting from a child process, we returns from a current function with an error code. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
There are a few patches in linux-next, which added this check: ipc: IPCMNI limit check for semmni ipc: IPCMNI limit check for msgmni and shmmni Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
cr_check() initializes root_item and calls collect_pstree_ids. It was not designed to be called directly from a service process. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
setup_opts_from_req() sets up logging and call kerndat_init(). Investigated-by:
Adrian Reber <areber@redhat.com> Fixes: 6e04f3b2dd06 ("criu: call kerndat_init() after log_init()") Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
We want to wait a specific child. wait() waits any child. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Pavel Tikhomirov authored
Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Pavel Tikhomirov authored
When restoring a task in it's user namespace we had: "Unable to open pages-3.img: Permission denied" when trying to open pages images for write. (Write is needed for memory images deduplication feature to work.) These patch makes do_open_image open images fd through usernsd, to have root permissions. Also increase MAX_UNSFD_MSG_SIZE as path and metadata don't fit, and remove a workaround in prepare_vma_ios. Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Rename the local variables 'pb' to 'pbuff' to avoid conflict with the imported 'pb' module. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
Otherwise all external tty-s will share the same tty info, what is obviously wrong. v2: allocate a separate tty index range for externl terminals Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
In this case: * don't need to care whether they intercept with restored file descriptors. * they don't copied into each restored process * don't need to close them one by one Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrey Vagin authored
Currently, we create only one external resource to check how it is handled by criu. It is better to create more than one. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrey Vagin authored
Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrey Vagin authored
Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Mike Rapoport authored
On loaded systems running maps04 with lazy-pages takes too much time. The same functionality is anyway covered by other tests so excluding maps04 shouldn't decrease the test coverage. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Mike Rapoport authored
Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Mike Rapoport authored
Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
This generates more readable data in logs. | (00.002930) inet: Collected: ino 0xc3f15b family AF_INET type SOCK_DGRAM port 8081 state TCP_CLOSE src_addr 127.0.0.10 | (00.002980) inet: Collected: ino 0xc3f159 family AF_INET type SOCK_RAW port 1 state TCP_CLOSE src_addr 127.0.0.14 | (00.002984) inet: Collected: ino 0xc3f158 family AF_INET type SOCK_RAW port 17 state TCP_CLOSE src_addr 127.0.0.12 | (00.002988) inet: Collected: ino 0xc3f156 family AF_INET type SOCK_RAW port 255 state TCP_CLOSE src_addr 0.0.0.0 | (00.003439) inet: Collected: ino 0xc3f15a family AF_INET6 type SOCK_RAW port 58 state TCP_CLOSE src_addr :: | (00.003449) inet: Collected: ino 0xc3f157 family AF_INET6 type SOCK_RAW port 255 state TCP_CLOSE src_addr :: Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
To count elems in accumulator. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrey Vagin authored
https://github.com/checkpoint-restore/criu/issues/557Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Acked-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
The tun files may have same names but different net namespace so consider ns_id when searching for particluar tun device name. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Opening tun device is tricky: the net device is allocated from current net namespace, thus we should set it first, otherwise all tuns which live in nested net namespace get moved to the toplevel one. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
In Py2 `range` returns a list and `xrange` creates a sequence object that evaluates lazily. In Py3 `range` is equivalent to `xrange` in Py2. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Use __future__ imports to keep this working for python2 Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Auto-detected with pylint. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Radostin Stoyanov authored
CPython currently uses a reference-counting scheme with (optional) delayed detection of cyclically linked garbage, which collects most objects as soon as they become unreachable, but is not guaranteed to collect garbage containing circular references. Some objects contain references to "external" resources such as open files. It is understood that these resources are freed when the object is garbage-collected, but since garbage collection is not guaranteed to happen, such objects also provide an explicit way to release the external resource, usually a close() method. Programs are strongly recommended to explicitly close such objects. Reference: https://docs.python.org/3.6/reference/datamodel.htmlSigned-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Radostin Stoyanov authored
Add hostname resolution in setup_tcp_client(). This change allows a valid hostname to be provided as value for --address option when connecting to page server. This change is needed for the following path which removes setup_TCP_client_socket() from img-proxy.c. In this function the hostname resolution was implemented using gethostbyname() However, here we use `getaddrinfo` instead because gethostbyname() is marked obsolescent in POSIX.1-2001 and is removed in POSIX.1-2008 specifications. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Radostin Stoyanov authored
When --remote-lazy-pages is used the address option was not specified. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Radostin Stoyanov authored
The function `setup_TCP_server_socket` (defined in img-remote.c) and `setup_tcp_server` (defined in util.c) have very similar functionality. Replace setup_TCP_server_socket() with setup_tcp_server() to reduce code duplication and to enable IPv6 support for the image-cache action of CRIU. We set SO_REUSEADDR flag to allow reuse of local addresses. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-