The arch-specific restore_thread() and restore_cpu() are called after
restore_task_obj()s. This means that when a 32-bit task calls
sys_restart() with a 64-bit image, we'll be reloading memory mappings
before those are called, and get a 'mysterious' -EINVAL for trying to
map libc into an area
Quoting Sukadev Bhattiprolu (suka...@linux.vnet.ibm.com):
Hey Suka,
+struct clone_args {
+ u64 clone_flags_high;
+ u64 child_stack;
+ u64 child_stack_size;
+ u64 parent_tid_ptr;
+ u64 child_tid_ptr;
+ u32 nr_pids;
+ u32 reserved0;
+ u64 reserved1;
You
Queued for v19-rc2.
Serge E. Hallyn wrote:
Signed-off-by: Serge E. Hallyn se...@us.ibm.com
---
checkpoint/memory.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/checkpoint/memory.c b/checkpoint/memory.c
index ec3603a..cfb25a3 100644
--- a/checkpoint/memory.c
Nice catch, Queued for v19-rc2.
Nathan Lynch wrote:
The feeder thread can cause the restart process to fail by indirectly
calling exit_group, which sends SIGKILL to all other threads in the
process. If the feeder thread wins the race, the restart is
disrupted. A common symptom of this race
Queued for v19-rc2.
Nathan Lynch wrote:
With ckpt-v19-rc1 branch in user-cr I get:
shmem.c: In function ‘main’:
shmem.c:53: warning: ‘a’ may be used uninitialized in this function
Signed-off-by: Nathan Lynch n...@pobox.com
---
test/shmem.c |2 +-
1 files changed, 1 insertions(+),
Queued for v19-rc2 to replace old clone-with-pids.
Oren.
Sukadev Bhattiprolu wrote:
Andrew,
We ported the syscall to x86_64, powerpc and s390 and in the process hashed
out couple of minor issues in the interface.
Can you please merge or let me know if there are other comments ?
---
Thanks for the port to eclone - this is queued for v19-rc2.
Oren.
Nathan Lynch wrote:
The following series adds support for eclone to the arch code,
introduces the nsexeccwp utility which allows for isolated testing of
eclone's pid-choosing capability, switches the restart utility to
Ok, will add this to user-cr (v19-rc2).
BTW, where is the original nsexec source maintained ?
Oren.
Serge E. Hallyn wrote:
One of the concerns with clone-with-pids is whether the
stack handling is all correct and robust enough to withstand
real usage. Little testcases playing with pid
Cool. Entire patchset queued for v19-rc2.
Thanks,
Oren.
se...@us.ibm.com wrote:
From: Serge E. Hallyn se...@us.ibm.com
Changelog:
Nov 17: check for len overrun
Signed-off-by: Serge E. Hallyn se...@us.ibm.com
---
checkpoint/sys.c |2 ++
1 files changed, 2 insertions(+), 0
Great ! will add to v19-rc2.
Oren.
Dan Smith wrote:
This is an update of the previous set to apply on top of v19-rc1 and to
address some of the trivial changes suggested on list. Those are detailed
per-patch. I will follow up with a patch to change ckpt_debug to ckpt_err
where
Got it for v19-rc2.
Dan Smith wrote:
...as discussed on list.
___
Containers mailing list
contain...@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
___
Andrew,
(Sorry to spam, but I failed to cc LKML on my previous post and want to
make sure I addressed all comments).
We also ported the eclone() syscall to x86_64, powerpc and s390.
Can you please merge or let me know if there are other comments ?
---
Subject: [v13][PATCH 00/12] Implement
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 01/12] Factor out code to allocate pidmap page
To simplify alloc_pidmap(), move code to allocate a pid map page to a
separate function.
Changelog[v3]:
- Earlier version of patchset called alloc_pidmap_page() from
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 02/12] Have alloc_pidmap() return actual error code
alloc_pidmap() can fail either because all pid numbers are in use or
because memory allocation failed. With support for setting a specific
pid number, alloc_pidmap()
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 03/12] Define set_pidmap() function
Define a set_pidmap() interface which is like alloc_pidmap() only that
caller specifies the pid number to be assigned.
Changelog[v13]:
- Don't let do_alloc_pidmap return 0 if it
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 04/12] Add target_pids parameter to alloc_pid()
This parameter is currently NULL, but will be used in a follow-on patch.
Signed-off-by: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Acked-by: Serge Hallyn
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 05/12] Add target_pids parameter to copy_process()
Add a 'target_pids' parameter to copy_process(). The new parameter will be
used in a follow-on patch when eclone() is implemented.
Signed-off-by: Sukadev Bhattiprolu
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 06/12] Check invalid clone flags
As pointed out by Oren Laadan, we want to ensure that unused bits in the
clone-flags remain unused and available for future. To ensure this, define
a mask of clone-flags and check the flags
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 07/12] Define do_fork_with_pids()
do_fork_with_pids() is same as do_fork(), except that it takes an
additional, 'pid_set', parameter. This parameter, currently unused,
specifies the set of target pids of the process in
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 08/12] Implement sys_eclone for x86
Container restart requires that a task have the same pid it had when it was
checkpointed. When containers are nested the tasks within the containers
exist in multiple pid namespaces and
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 09/12] Implement sys_eclone for x86_64
Implement sys_eclone() system call for x86_64.
This is based on earlier code from Dave Hansen. Modified to share code
between x86 and x86_64 kernels.
Signed-off-by: Sukadev
From: Serge E. Hallyn se...@us.ibm.com
Subject: [v13][PATCH 10/12] Implement sys_eclone for s390
Implement the s390 hook for sys_eclone().
Changelog:
Nov 24: Removed user-space code from commit log. See user-cr git tree.
Nov 17: remove redundant flags_high check
Nov 13:
From: Nathan Lynch n...@pobox.com
Subject: [v13][PATCH 11/12] Implement sys_eclone for powerpc
Wired up for both ppc32 and ppc64, but tested only with the latter.
Changelog:
Nov 17: (serge) remove redundant flags_high check, and
don't fold it into flags.
Signed-off-by:
From: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
Subject: [v13][PATCH 12/12] Document sys_eclone
This gives a brief overview of the eclone() system call. We should
eventually describe more details in existing clone(2) man page or in
a new man page.
Changelog[v13]:
- [Nathan Lynch,
I can't recall a convincing reason why restore_{thread,cpu}() should
run so late, or in particular after restore_task_objs().
I think the original motivation was to avoid the point-of-no-return
at a very early stage. However this is only useful for self-restart.
If we ever want self-restart to
... for v19-rc2, too. Thanks.
Oren.
Dan Smith wrote:
The current data pointer offset calculation is not correct in all cases.
This patch records the offset and resets it on restore. With this patch,
all of my test cases now pass and behave as they should.
Signed-off-by: Dan Smith
Quoting Oren Laadan (or...@cs.columbia.edu):
I can't recall a convincing reason why restore_{thread,cpu}() should
run so late, or in particular after restore_task_objs().
I think the original motivation was to avoid the point-of-no-return
at a very early stage. However this is only useful
Quoting Oren Laadan (or...@cs.columbia.edu):
Ok, will add this to user-cr (v19-rc2).
BTW, where is the original nsexec source maintained ?
It isn't really 'maintained'. Used to be kept at lxc.sf.net, and
right now a copy is in the cr_tests git tree.
-serge
Serge E. Hallyn wrote:
Quoting Oren Laadan (or...@cs.columbia.edu):
I can't recall a convincing reason why restore_{thread,cpu}() should
run so late, or in particular after restore_task_objs().
I think the original motivation was to avoid the point-of-no-return
at a very early stage.
29 matches
Mail list logo