[Devel] [PATCH user-cr] clone_x86_32: use correct 4th syscall arg
Serge E. Hallyn
serue at us.ibm.com
Fri Jan 22 16:35:32 PST 2010
The 4th arg to syscall is esi, not edi. Wasn't too big a deal since
we yanked it out of regs->edi at process_32.c:sys_eclone(), but
it gets totally b0rked when ia32 regs fixup happens to use the
32-bit abi in x86-64.
Signed-off-by: Serge Hallyn <serge at us.ibm.com>
---
clone_x86_32.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/clone_x86_32.c b/clone_x86_32.c
index 2d26385..54960e0 100644
--- a/clone_x86_32.c
+++ b/clone_x86_32.c
@@ -66,7 +66,7 @@ int eclone(int (*fn)(void *), void *fn_arg, int clone_flags_low,
"b" (clone_flags_low), /* flags -> 1st (ebx) */
"c" (&my_args), /* clone_args -> 2nd (ecx) */
"d" (sizeof(my_args)), /* args_size -> 3rd (edx) */
- "D" (pids) /* pids -> 4th (edi) */
+ "S" (pids) /* pids -> 4th (esi) */
);
if (retval < 0) {
--
1.6.3.3
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list