Commit Graph

469 Commits

Author SHA1 Message Date
815d907ca4 setpgid return -EACCES when the child process had already performed an execve (LTP setpgid03) 2014-12-09 14:01:20 +09:00
af83f1be64 rlimit(RLIMIT_NOFILE): return one less to make sure sync pipe can be created (LTP fork09) 2014-12-04 17:40:00 +09:00
b2cab453f1 clone(): do not allow setting CLONE_THREAD and CLONE_VM separately
XXX: When CLONE_VM is set but CLONE_THREAD is not the new thread is
meant to have its own thread group, i.e., when calling exit_group()
the cloner thread wouldn't be killed. However, this is a problem on
the Linux side because we do not invoke clone in mcexec when threads
are created. Thus, currently no support for this combination is
provided.
2014-12-04 16:55:18 +09:00
86f2a9067b getppid() implementation 2014-12-04 16:55:17 +09:00
f1a86cfbd3 when host mcexec down, syscall is hung up 2014-12-04 11:17:29 +09:00
8f30e16976 when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259) 2014-11-27 16:13:52 +09:00
3fe7e39607 some variables definition are gathered to fork_tree_node from process.
- remove both-defined: pid, pgid, status
- move to fork_tree_node: tid
- make dummy fork_tree_node for idle_process.
2014-10-29 16:54:09 +09:00
6cd1016d57 Remove debug message that could dereference NULL 2014-10-17 14:24:44 +09:00
ec179f072d ptrace: Add all known request value and report upon their request. 2014-10-15 15:42:45 +09:00
8460a7d93e siginfo.si_status was invalid 2014-10-15 15:27:32 +09:00
8a6ffa8542 fix ptrace(PTRACE_PEEKUSER), store register value to *data 2014-10-15 14:56:45 +09:00
a150a19393 ptrace: Bug fixed.
see: http://postpeta.pccluster.org/redmine/issues/265#note-3
2014-10-15 14:56:30 +09:00
f0f31e19fb procfs: PTRACE_O_TRACESYSGOOD (fake) 2014-10-15 14:56:11 +09:00
fef946e5ff support PTRACE_GETREGS 2014-10-15 14:55:49 +09:00
4b46330624 support ptrace(PTRACE_PEEKUSER, ...) 2014-10-15 14:54:33 +09:00
a101aa0534 ptrace: Temporal fix for signal inconsistency. 2014-10-15 14:52:32 +09:00
1f120b929b ptrace: Make unimplemented ptrace requests return error. 2014-10-15 14:50:11 +09:00
f28eb0a672 Fix taking exit status when wait4()-ing stopped 2014-10-15 14:49:36 +09:00
95dd193fd6 Fix reporting of having done execve to ptracer 2014-10-15 14:49:23 +09:00
2997274470 Make __WCLONE option for wait4(2) and flags for clone(2) work properly. 2014-10-15 14:45:58 +09:00
66db108dd3 Use erase-safe Ver. of list traversal in waitpid 2014-10-15 14:42:52 +09:00
013d3e95c2 Fix manipulation of fork_tree_node for ptrace 2014-10-15 14:42:17 +09:00
658b88fd7b Modify spacing 2014-10-15 14:40:47 +09:00
da17625be9 gdb: definitions for ptrace() and syscall part of TRACEME 2014-10-15 14:30:17 +09:00
dbecaa2fc8 Add ptrace functions of job-control and signal
Note that a forked process automatically becomes ptraced state in this
commit.
2014-10-15 14:28:55 +09:00
39f36120c1 support sigqueue 2014-09-23 23:17:53 +09:00
55aeceb1bf execve()/creat(): handle NULL env correctly and support for holding executable file so that write access returns ETXTBSY 2014-09-18 21:25:04 +09:00
e5917e6bf1 Revert "fix warnings"
This reverts commit fbd33470e7.
2014-09-17 19:59:37 +09:00
f267b65fba Revert "marker"
This reverts commit b361012563.
2014-09-17 19:59:36 +09:00
b13b8e91b2 Revert "exit_group 時に空きページ数を表示する"
This reverts commit 219291f40f.
2014-09-17 19:59:33 +09:00
776dfff734 Revert "terminate するときに空きページ数を表示するようにした"
This reverts commit d4ffe7db8d.
2014-09-17 19:59:29 +09:00
c9f8bb0201 mmap: support device mapping (in progress) refs #218 2014-09-17 19:52:00 +09:00
d4ffe7db8d terminate するときに空きページ数を表示するようにした 2014-09-17 19:46:50 +09:00
219291f40f exit_group 時に空きページ数を表示する 2014-09-17 19:46:46 +09:00
b361012563 marker 2014-09-17 19:46:41 +09:00
fbd33470e7 fix warnings 2014-09-17 19:46:39 +09:00
225509786f do_fork(): fix variable name when DEBUG_PRINT_SC enabled 2014-09-11 16:58:59 +09:00
7e6fbc4854 Support negative first argument in waitpid
Make waitpid wait any process with the pgid of -<1st-arg> when setting
minus value to the first argument.
2014-09-11 15:20:32 +09:00
c78be27442 Support SIGSTOP and SIGCONT 2014-09-10 18:19:39 +09:00
7ca4ca4d37 Revert "Support SIGSTOP and SIGCONT"
This reverts commit 2325d47952.
2014-09-10 18:19:17 +09:00
2325d47952 Support SIGSTOP and SIGCONT 2014-09-10 17:01:21 +09:00
b50e205a61 Support pid of zero when calling waitpid
Make waitpid wait any process with the same pgid of the caller when
setting zero to the pid argument.
2014-09-10 17:01:05 +09:00
cee647aee4 sigsuspend restore sigmask 2014-09-09 13:54:36 +09:00
19fa391d4f Implement vfork system call
It's implemented by making it issue clone system call internally with
the arguments of (SIGCHLD, 0, 0, 0, 0). The feature in which the caller
of vfork blocks until the child issues exit/execve is not implemented.
Refer to #233.
2014-09-08 17:06:05 +09:00
0de6a30426 wait4(): do not return ECHILD when child exists but not in PS_ZOMBIE state yet 2014-09-05 18:28:40 +09:00
e45632c9f8 Check "options" argument in wait4
Make wait4 return -EINVAL when not supported options are requested.
2014-09-04 17:32:26 +09:00
a16c3170ef Correct wait4 when the child is not found
Make wait4 return -ECHILD when pid is specified and it's not found.
2014-09-04 17:11:05 +09:00
fea02b0ece Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-03 18:33:32 +09:00
7da4b8b8dc fix sched_[sg]etaffinity(tid==0, ...) (LTP sched_getaffinity01) 2014-09-03 18:22:27 +09:00
cd366de097 execve():
- COKERNEL_PATH and COKERNEL_EXEC_ROOT support for co-kernels with different architecture than the host (i.e., Xeon Phi).
- fix various error codes: ENAMETOOLONG, ENOENT, ENOTDIR, EACCES, ENOEXEC, EFAULT.
- support for shell code execution.
2014-09-03 18:15:43 +09:00