[CRIU] [PATCH v4 00/31] Nested user namespaces support

Kirill Tkhai ktkhai at virtuozzo.com
Wed Feb 22 03:30:24 PST 2017


Hi,

this is the 4th version of nested user namespaces support.
In comparation to v3 there were made:

1)Removed pid and net extentions from new ns image, and the image is renamed

2)Fixed 2 erratums with uid/gid

3)Couple more of fixes

https://travis-ci.org/tkhai/criu/builds/204155411

---

Kirill Tkhai (31):
      zdtm: Add userns00 test
      zdtm: Add userns01 test
      ns: Set nested namespaces hookups
      ns: Set hookups for all namespaces
      ns: Change arguments of dump_user_ns()
      user_ns: Make collect_user_ns() allocate child UsernsEntry mappings
      user_ns: Make host_id() working with any mapping and rename it
      ns: Rename and export userns_id() and INVALID_ID
      ns: Implement target_userns_{u,g}id() and root_userns_{u,g}id()
      ns: Add user and pid ns_id on restore
      user_ns: Name loading UsernsEntry mappings on restore "old format"
      ns: Provide the case when root_item has !NS_ROOT user_ns in rst_add_ns_id()
      ns: Set pointer to root_user_ns in ns_ids
      ns: Implement dup_userns_entry()
      images: Move uid_gid_extent and userns_entry descriptions
      proto: Add ns_entry description
      ns: Write/read ns entries in new way
      ns: Make prepare_userns() have ns map parameter
      ns: Make write_id_map() use CR_PROC_FD_OFF
      proc: Close CR_PROC_FD_OFF and TRANSPORT_FD_OFF later
      utils: Move getting real pid functionality to separate function
      ns: Generate user_ns tree
      user_ns: Set user_ns before net_ns creation
      utils: Introduce open_fd_of_real_pid()
      ns: Implement set_user_ns()
      ns: Set target user_ns after net_ns is set
      shmem: Fixup shmem_wait_and_open() opens foreign /proc/[pid]/fd/[i]
      rst: Pass pstree_item argument to alloc_groups_copy_creds()
      ns: Dump creds xids in root_user_ns
      ns: Convert task cred's xids to target user ns
      ns: Allow nested user namespaces


 criu/cgroup.c                   |    2 
 criu/cr-dump.c                  |    6 
 criu/cr-restore.c               |   82 +++-
 criu/files.c                    |    1 
 criu/image-desc.c               |    1 
 criu/include/cgroup.h           |    2 
 criu/include/image-desc.h       |    1 
 criu/include/magic.h            |    1 
 criu/include/namespaces.h       |   37 ++
 criu/include/parasite-syscall.h |    4 
 criu/include/protobuf-desc.h    |    1 
 criu/include/pstree.h           |    1 
 criu/include/util.h             |    3 
 criu/namespaces.c               |  787 ++++++++++++++++++++++++++++++++++++---
 criu/net.c                      |   43 ++
 criu/parasite-syscall.c         |   42 +-
 criu/pie/restorer.c             |   41 +-
 criu/protobuf-desc.c            |    2 
 criu/pstree.c                   |   14 +
 criu/shmem.c                    |    4 
 criu/util.c                     |   48 ++
 images/Makefile                 |    1 
 images/ns.proto                 |   19 +
 images/userns.proto             |   12 -
 lib/py/images/images.py         |    1 
 test/zdtm/static/Makefile       |    2 
 test/zdtm/static/userns00.c     |  296 +++++++++++++++
 test/zdtm/static/userns00.desc  |    1 
 test/zdtm/static/userns01.c     |  150 +++++++
 test/zdtm/static/userns01.desc  |    1 
 30 files changed, 1463 insertions(+), 143 deletions(-)
 delete mode 100644 images/userns.proto
 create mode 100644 test/zdtm/static/userns00.c
 create mode 100644 test/zdtm/static/userns00.desc
 create mode 100644 test/zdtm/static/userns01.c
 create mode 100644 test/zdtm/static/userns01.desc

--
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>


More information about the CRIU mailing list