- 08 Jun, 2015 18 commits
-
-
Cyrill Gorcunov authored
We should use provided @nr_relocs instead of ARRAY_SIZE here. Didn't spot it earlier simply because at moment on x86-64 there is no relocs at all. Also when we apply relocation they are to be computed from virtual base of parasite address, not from local memory map address, so add @vbase parameter. And fix typo on addend in gotpcrel. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In case of @gotpcrel relocations we need additional space to carry pointers. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
After this patch one can run ARCH="ia32" make to build 32bit version on CRIU on 64bit host. Note this is only build procedure which tuned up, the CRIU itself is not yet ready to make a checkpoint/restore cycle -- a lot of additional code is needed and here we rather put stubs simply to make build procedure run. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
There is no rip addressing in 32bit code but PIE code require GOT tables and friend which we better escape for performance sake. So lets use pc relocations it should do the trick. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
To support x86-32 mode we will need own syscall table. Here is it. Note the CRIU itself doesn't support such mode yet. Meanwhile put syscall table here just in case if someone is adding new syscall 32 bit variant should be updated as well. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Since at the moment we're running only x86-64 not 32 bit tasks, and our code is not carrying any big statically defined structures we can use relocatable files directly with all relocation applied during building. This gonna be changed soon once we start supporting 32 bit tasks. IOW even currently we need (which is not yet done but it's safe) - check for gotpcrel relocations - apply relocations with generated elf_apply_relocs helper Currently overall scheme looks this way - our object files are linked together into parasite.built-in.bin.o file - then pie/piegen/piegen tool is called which parses this file and generates C source code file with bytestream and all information needed to rellocate this bytestream into a new place (see elf_apply_relocs helper) Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Here we simply build piegen tool which gonna be used to generate parasite code safe to rellocate. The tool is taking object file as an argument, parses it and generates C file with rellocations encoded in form suitable for fast appliance. Currently only x86-32 x86-64 is supported. v2 (by ldufour@): - Filter PIEGEN Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
On restore we have several arrays of objects that get remapped into pie area and their number is also passed. Clean and shorten the remapping code a bit and bing their naming to common format. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
systemd executes tests in subgroups: 9679 ? Ssl 0:41 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war - [root@jenkins ~]# cat /proc/9679/cgroup 10:net_cls:/ 9:hugetlb:/ 8:cpuset:/ 7:blkio:/system.slice 6:freezer:/ 5:cpu,cpuacct:/system.slice 4:devices:/system.slice/jenkins.service 3:perf_event:/ 2:memory:/system.slice 1:name=systemd:/system.slice/jenkins.service Reported-by: Mr Jenkins Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Adrian Reber authored
The criu(8) man-page is generated using asciidoc. The problem with asciidoc is that, due to its dependencies, it is not available on all distributions or it is undesired to install all asciidoc dependencies. The install target was unconditionally installing and thus building the man-page even if not explicitly specified with 'make docs'. With the new 'install-criu' target everything besides the man-page is installed and the target 'install-man' is only called by the target 'install'. Signed-off-by:
Adrian Reber <areber@redhat.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Looks-ok-to: Cyril Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
On restore we will use the peer's name to connect() the socket back, so if there's no name dump should be aborted. This situation happens when we create a socketpair(), fork and dump only one task with one pair end. Reported-by:
Artem Kuzmitskiy <artem.kuzmitskiy@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Use SIG_SETMASK instead of SIG_BLOCKMASK here in case the parent had SIGCHLD blocked. In this case if one of the criu threads has a problem, since the SIGCHLD is blocked, the restore simply hangs. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Reported-by: criuport@gmail.com Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Reviewed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
- 04 Jun, 2015 1 commit
-
-
Andrew Vagin authored
It's typo fix. SIGTERM generates code dump and it's a reason why this test fails by timeout sometimes. Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 02 Jun, 2015 5 commits
-
-
Andrew Vagin authored
I've updated Mr Jenkins to fc22 and can't compile zdtm tests: cc -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -iquote ../../lib/arch/x86/include -I../../lib ptrace_sig.c ../../lib/libzdtmtst.a -o ptrace_sig ptrace_sig.c: In function ‘child’: ptrace_sig.c:33:5: error: type of ‘fd’ defaults to ‘int’ [-Werror=implicit-int] int child(fd) Reported-by: Mr Jenkins Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Salvatore Bonaccorso authored
Signed-off-by:
Salvatore Bonaccorso <carnil@debian.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Salvatore Bonaccorso authored
Signed-off-by:
Salvatore Bonaccorso <carnil@debian.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Takashi Iwai authored
Otherwise we eventually get compiler warnings, ending up with the build abort. Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Takashi Iwai authored
Passing both $DESTDIR and $PREFIX into --prefix option of crit install results in the bogus $DESTDIR embedded in the installed object. Instead, pass $DESTDIR to --root and $PREFIX to --prefix options, respectively. Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 01 Jun, 2015 1 commit
-
-
Pavel Emelyanov authored
So, we've got quite a lot of new stuff this release :) The biggest code-merge was POWER arch port. Another big thing that has happened was criu integration with libcontainer. And a tiny change that will become big next release -- the "criu show" command is going to be thrown away in 3 monthes, the CRIT tool should be used instead. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 29 May, 2015 6 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com>
-
Andrey Vagin authored
Now it isn't clear which lock is not supported. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
When we call open_proc(PROC_SELF, ...) the /proc/self descriptor is cached in criu. If the process fork()-s after than and child goes open_proc(PROC_SELF, ...) then it will get the parent's proc descriptor. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com>
-
Pavel Emelyanov authored
If dump doesn't generate data into some image file the respective file is not created at all as it used to be in 1.5. This brings potential problem -- if the file with the image name exists during dump (e.g. a dump file left from previous, maybe unsuccessful, dump) then restore would pick this file and read bad/wrong/fake data from it. To return the proper behavior back the file with the name of empty image should be removed. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
If a test fails, we save the criu directory and expect to have all logs and images there. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 28 May, 2015 1 commit
-
-
Cyrill Gorcunov authored
In case if we've dumped read only tmpfs we fail restoring it because it's mounted with ro flags. Lets mount it with rw, restore content and then remount as ro. upd (by xemul@): any fs with restore method likely to need rw permission on restore. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 19 May, 2015 5 commits
-
-
Sergey Bronnikov authored
Hi, attached patch updates README in CRIU repository: - mark up text by markdown - rename README file, because Github requires .MD extension for files with Markdown inside - describe the ways how to contribute to CRIU Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
The currect version does nothing. Cc: Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We check files in /sys, so we must do this from host mount namespaces. The write_img_inventory() is called after kerndat_init() and it's only called on dump. The bug is triggered on restore, because the mount namespace of the restored process doesn't have /sys/kernel/security/apparmor/ I think it's better to initialize the host lsm in a one place for dump and restore. Currently we initialize the host lsm when we try to use it at a first time. It works fine for the dump operation. On restore it doesn't work because criu checks files in a restored mount namespace and it does this for each process, what isn't optimal. Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Tycho: Also, this makes sense to me now too (it tests the case where /sys isn't mounted inside the container, which the other patch fixes). Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Adrian Reber authored
Trying to create a RPM from current CRIU HEAD fails as the crit installation ignores $(DESTDIR). This simple patch adds staged installation for crit: https://github.com/adrianreber/criu/commit/3f7dd400471d717363c143198fe90dc75fac648bSigned-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 14 May, 2015 3 commits
-
-
Andrew Vagin authored
It's required to execute the test in Jenkins. We need to stop using a current terminal. For that we need to * create a new session * redirect stdout and stderr in a file. * close stdin Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
It's required to execute the test in Jenkins. Signed-off-by:
Andrew Vagin <avagin@openvz.org> Acked-by:
Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Laurent Dufour authored
Introduce optimized bit operation for PowerPc Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-