[CRIU] [PATCH 0/9] vdso proxy, v7

Cyrill Gorcunov gorcunov at openvz.org
Thu May 23 17:42:10 EDT 2013


Hi, here is new attempt for vdso proxy. The main chages from
previous series

 - No more #if defined(CONFIG_X86_64) in sources, we provide
   stubs for arm code

 - Because of previous bullet, had to tune up makefiles a bit

 - No typedefs for vdso structures

 - vdso_remap helper kept inplace, since it's convenient to
   work with instead of opencoded calls

 - runtime vdso parking address now calculated in lazy manner,
   argumets as copied by compiler itself

 - two global variables @vdso_pfn and @vdso_sym_rt, thus getting
   rid of helpers to access them (I still don't like exporting
   global variables, but as @xemul asked)

 - struct vdso_mark explained with big comment

 - "pagemap" now accessed via open_proc helper (thanks Pavel
   for the hint)

 - fixed a typo in dropping maked vma from dumping vmas list

Please take a look!

Cyrill Gorcunov (9):
  make: Define program object deps as separate variable
  vdso: Introduce vdso pie-engine
  vdso: Initialize vdso data on startup
  vdso: Remap runtime vdso copy to safe place
  vdso: Implement vdso proxy on restore
  vdso: Fetch page frame number on init
  vdso: Mark runtime vdso if proxy needed
  vdso: Escape double dumping of rt-vdso if proxy present
  proc: Don't mark mishinted vdso

 Makefile                    |  10 +-
 Makefile.crtools            |   1 +
 arch/arm/include/asm/vdso.h |  16 +++
 arch/arm/vdso-pie.c         |  31 +++++
 arch/arm/vdso.c             |  17 +++
 arch/x86/include/asm/vdso.h |  16 +++
 arch/x86/vdso-pie.c         | 311 ++++++++++++++++++++++++++++++++++++++++++++
 arch/x86/vdso.c             |  97 ++++++++++++++
 cr-dump.c                   |  11 ++
 cr-restore.c                |  34 ++++-
 include/parasite-syscall.h  |   3 +
 include/parasite.h          |   8 ++
 include/restorer.h          |   5 +
 include/vdso.h              | 114 ++++++++++++++++
 parasite-syscall.c          | 121 +++++++++++++++++
 pie/Makefile                |   1 +
 pie/parasite.c              |  18 +++
 pie/restorer.c              |  30 +++++
 proc_parse.c                |   5 +-
 19 files changed, 844 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm/include/asm/vdso.h
 create mode 100644 arch/arm/vdso-pie.c
 create mode 100644 arch/arm/vdso.c
 create mode 100644 arch/x86/include/asm/vdso.h
 create mode 100644 arch/x86/vdso-pie.c
 create mode 100644 arch/x86/vdso.c
 create mode 100644 include/vdso.h

-- 
1.8.1.4


More information about the CRIU mailing list