No description
Find a file
Dmitry Safonov f52ea57df3 pie/restorer: add vdso_fill_symtable_compat for 32-bit vdso
While restorering compatible application on x86-64, we need
to parse 32-bit vDSO. By that reason I need _three_ compiled
object versions for util-vdso:
- for native parasite it's util-vdso.o
- for compatible parasite it's compat/util-vdso.o
- for restorer it's util-vdso.o and util-vdso-elf32.o

Note, that I can't link compat/util-vdso.o to restorer, as it's
i386 ELF which ld can't link to x86_64 ELF file.

TODO: maybe I'll need to refactor and introduce generic
CONFIG_COMPAT instead of those defined(CONFIG_X86_32).

Fixes:
  pie: 27504: vdso: Mapping compatible vDSO at 0x25000
  pie: 27504: Remap 0x7f3de3efa000->0x8048000 len 0x1000
  ...
  pie: 27504: vdso: Parsing at 0xf7776000 0xf7778000
  pie: 27504: Error (pie/util-vdso.c:87): vdso: Elf header magic mismatch
  pie: 27504: Error (pie/restorer.c:1540): Restorer fail 27504
  (00.029188) Error (cr-restore.c:988): 27504 exited, status=1
  (00.033072) Error (cr-restore.c:1870): Restoring FAILED.

Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-03-14 23:58:06 +03:00
compel compel: print nr of unsupported relocation 2017-03-14 21:03:30 +03:00
contrib scripts/install-debian-packages: add libnet-dev 2017-01-16 11:04:49 +03:00
coredump coredump: Rename dir to coredump 2016-06-28 13:04:58 +03:00
crit crit/decode: set default opts['nopl'] to False 2016-05-30 13:47:54 +03:00
criu pie/restorer: add vdso_fill_symtable_compat for 32-bit vdso 2017-03-14 23:58:06 +03:00
Documentation .gitignore: update to recent changes 2017-03-14 21:03:22 +03:00
images core/x86: add compatible 32 register set 2017-03-14 21:03:21 +03:00
include/common files: Fix test and set endianess problem 2017-02-06 14:09:15 +03:00
lib lib Makefiles: integrate 2017-03-06 20:44:07 +03:00
scripts travis-ci: run compel tests on build stage 2017-03-14 21:03:30 +03:00
soccr soccr: add one more test to check libsoccr_save/libsoccr_restore 2017-02-01 18:41:29 +03:00
test compel/tests: fix tests on !x86 archs 2017-03-14 21:03:30 +03:00
.gitignore .gitignore: update to recent changes 2017-03-14 21:03:22 +03:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml travis: execute tests on Alpine 2017-03-02 00:19:03 +03:00
COPYING COPYING: fix a typo in a preamble 2016-08-11 16:18:43 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
INSTALL.md Makefile.install: rm unused vars/target 2017-02-06 13:48:49 +03:00
Makefile Makefile: add .FORCE target 2017-03-14 21:03:30 +03:00
Makefile.config make: Add .config file processing (v3) 2016-11-03 20:49:13 +03:00
Makefile.install Makefile.install: fix uninstall target 2017-03-06 20:44:08 +03:00
Makefile.versions compel: Initial commit for standalone tool 2017-03-14 21:03:20 +03:00
README.md Add ascciinema tour on basic criu features. 2016-06-16 16:37:06 +03:00

CRIU (Checkpoint and Restore in Userspace)

An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

The project home is at http://criu.org.

Pages worth starting with are:

A video tour on basic CRIU features

CRIU introduction

How to contribute