Tomoki Shirasawa
0e0bc548f6
fix mcexec SIG_IGN
2015-02-12 19:02:58 +09:00
NAKAMURA Gou
d21ae28843
add dummy NUMA system calls. refs #405
...
ENOSYS system call handlers for the following.
- get_mempolicy()
- mbind()
- migrate_pages()
- move_pages()
- set_mempolicy()
2015-02-10 21:16:19 +09:00
NAKAMURA Gou
d30d8fe71c
support getcpu() system call. refs #385
...
It appeared on Linux(x86) in kernel 3.1.
2015-02-10 18:35:41 +09:00
Susumu Komae
5f5ab34559
support PTRACE_ATTACH.
...
fix PTRACE_TRACEME, PTRACE_DETACH.
2015-01-30 21:02:01 +09:00
Susumu Komae
bd5f43b119
support PTRACE_SINGLESTEP.
...
support debug/int3 exception.
2015-01-29 15:48:05 +09:00
Susumu Komae
f97f8dbab3
support PTRACE_PEEKTEXT and PTRACE_PEEKDATA.
...
support PTRACE_POKETEXT and PTRACE_POKEDATA.
now, force write anywhere.
read-only page must copy-on-write.
2015-01-29 15:02:15 +09:00
Susumu Komae
e30946f1f0
fix PTRACE_CONT may cause error.
...
refs #369
2015-01-29 14:10:31 +09:00
Susumu Komae
c3ade864d9
fix PTRACE_PEEKUSER, PTRACE_POKEUSER, PTRACE_GETREGS.
...
support PTRACE_SETREGS.
In struct process, add 'unsigned long *ptrace_debugreg', instead of 'struct user *userp'.
debug registers are read/written from/to ptrace_debugreg, save/restore in schedule().
most general registers are proc->uctx.
fs_base is proc->thread.tlsblock_base.
gs_base,ds,es,fs,gs and orig_rax are uncompleted.
other members in 'struct user' are ignored, same as Linux implementation.
refs #257
refs #373
refs #263
2015-01-29 14:08:38 +09:00
Tomoki Shirasawa
d04b5a09bd
PTRACE_KILL omit sched_wakeup_process return
...
refs #369
2015-01-27 10:55:49 +09:00
Tomoki Shirasawa
08cc31f9bf
support setrlimits/getrlimits, however this fix is these syscalls only.
...
checking resource process must implement it separately.
refs #330
2015-01-27 10:35:58 +09:00
Susumu Komae
765de119dc
support PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK, PTRACE_O_TRACEVFORKDONE.
...
to start with a SIGSTOP, do not set proc->ftn->status to PS_RUNNING in __runq_add_proc().
change vfork() set CLONE_VFORK.
refs #266
refs #267
refs #372
support PTRACE_GETEVENTMSG.
to store ptrace event, add 'unsigned long ptrace_eventmsg;' member in struct fork_tree_node.
refs #273
2015-01-14 10:43:18 +09:00
Susumu Komae
d46110b4d9
support PTRACE_DETACH.
...
change getppid() to use proc->ftn->ppid_parent->pid, for ptraced process.
refs #280
2015-01-08 12:39:52 +09:00
Tomoki Shirasawa
912b8a886c
do_kill distinguish PTRACE_CONT from kill.
2014-12-26 15:23:11 +09:00
Naoki Hamada
a91bf9a13d
ptrace: Make PTRACE_CONT/KILL debug print separated.
2014-12-24 12:39:29 +09:00
Naoki Hamada
fcfa94cea1
ptrace: Add PTRACE_O_TRACEFORK (fake) support.
2014-12-24 12:39:13 +09:00
NAKAMURA Gou
391886a6f1
fix a warning
...
| mckernel/kernel/syscall.c: In function 'do_syscall':
| mckernel/kernel/syscall.c:187:
| warning: 'irqstate' may be used uninitialized in this function
2014-12-22 16:58:07 +09:00
NAKAMURA Gou
c810afe224
fix a warning
...
| mckernel/kernel/syscall.c: In function 'sys_madvise':
| mckernel/kernel/syscall.c:2108:
| warning: 'range' may be used uninitialized in this function
2014-12-22 16:58:06 +09:00
NAKAMURA Gou
0942bf0ce0
make dkprintf() evaluate its parameters always
...
Parameters of dkprintf() should be evaluated even if dkprintf() is
disabled. Because this enables to find expression of parameter obsolete
and to avoid unnecessary compiler warnings such as "unused variable".
2014-12-22 16:58:03 +09:00
NAKAMURA Gou
a6ac906105
use ftn->pid instead of proc->pid
2014-12-22 16:58:01 +09:00
bgerofi@riken.jp
d4ba4dc8b3
introduction of mckernel_procfs_file_operations; fix /proc/self path resolution;
...
implementation of /proc/self/pagemap (LTP mmap12)
2014-12-15 12:46:05 +09:00
Tomoki Shirasawa
815d907ca4
setpgid return -EACCES when the child process had already performed an execve (LTP setpgid03)
2014-12-09 14:01:20 +09:00
Balazs Gerofi bgerofi@riken.jp
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
bgerofi@riken.jp
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
bgerofi@riken.jp
86f2a9067b
getppid() implementation
2014-12-04 16:55:17 +09:00
Tomoki Shirasawa
f1a86cfbd3
when host mcexec down, syscall is hung up
2014-12-04 11:17:29 +09:00
Tomoki Shirasawa
8f30e16976
when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259)
2014-11-27 16:13:52 +09:00
Tomoki Shirasawa
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
Masamichi Takagi
6cd1016d57
Remove debug message that could dereference NULL
2014-10-17 14:24:44 +09:00
Naoki Hamada
ec179f072d
ptrace: Add all known request value and report upon their request.
2014-10-15 15:42:45 +09:00
Tomoki Shirasawa
8460a7d93e
siginfo.si_status was invalid
2014-10-15 15:27:32 +09:00
Tomoki Shirasawa
8a6ffa8542
fix ptrace(PTRACE_PEEKUSER), store register value to *data
2014-10-15 14:56:45 +09:00
Naoki Hamada
a150a19393
ptrace: Bug fixed.
...
see: http://postpeta.pccluster.org/redmine/issues/265#note-3
2014-10-15 14:56:30 +09:00
Naoki Hamada
f0f31e19fb
procfs: PTRACE_O_TRACESYSGOOD (fake)
2014-10-15 14:56:11 +09:00
Tomoki Shirasawa
fef946e5ff
support PTRACE_GETREGS
2014-10-15 14:55:49 +09:00
Tomoki Shirasawa
4b46330624
support ptrace(PTRACE_PEEKUSER, ...)
2014-10-15 14:54:33 +09:00
Naoki Hamada
a101aa0534
ptrace: Temporal fix for signal inconsistency.
2014-10-15 14:52:32 +09:00
Naoki Hamada
1f120b929b
ptrace: Make unimplemented ptrace requests return error.
2014-10-15 14:50:11 +09:00
Masamichi Takagi
f28eb0a672
Fix taking exit status when wait4()-ing stopped
2014-10-15 14:49:36 +09:00
Masamichi Takagi
95dd193fd6
Fix reporting of having done execve to ptracer
2014-10-15 14:49:23 +09:00
Naoki Hamada
2997274470
Make __WCLONE option for wait4(2) and flags for clone(2) work properly.
2014-10-15 14:45:58 +09:00
Masamichi Takagi
66db108dd3
Use erase-safe Ver. of list traversal in waitpid
2014-10-15 14:42:52 +09:00
Masamichi Takagi
013d3e95c2
Fix manipulation of fork_tree_node for ptrace
2014-10-15 14:42:17 +09:00
Masamichi Takagi
658b88fd7b
Modify spacing
2014-10-15 14:40:47 +09:00
Naoki Hamada
da17625be9
gdb: definitions for ptrace() and syscall part of TRACEME
2014-10-15 14:30:17 +09:00
Masamichi Takagi
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
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
bgerofi@riken.jp
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
NAKAMURA Gou
e5917e6bf1
Revert "fix warnings"
...
This reverts commit fbd33470e7 .
2014-09-17 19:59:37 +09:00
NAKAMURA Gou
f267b65fba
Revert "marker"
...
This reverts commit b361012563 .
2014-09-17 19:59:36 +09:00
NAKAMURA Gou
b13b8e91b2
Revert "exit_group 時に空きページ数を表示する"
...
This reverts commit 219291f40f .
2014-09-17 19:59:33 +09:00