NAKAMURA Gou
4751055ee4
make ptrace(2) use lookup_user_context()
2015-02-26 17:43:10 +09:00
NAKAMURA Gou
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00
Tomoki Shirasawa
e91d1e5b7b
stack of signal handler is not 16 byte align
...
refs #429
2015-02-24 17:20:52 +09:00
Tomoki Shirasawa
d9cf1d49b1
support waitid
...
send SIGCHLD to parent when SIGSTOP or SIGCONT received
refs #425
refs #283
2015-02-22 20:05:30 +09:00
Tomoki Shirasawa
3b04043f2a
change to throw signal SIGILL to SIGSEGV when GPE
2015-02-18 14:54:49 +09:00
Tomoki Shirasawa
c0edb6fe6f
add new cpu state CPU_STATUS_RESERVED
2015-02-18 13:46:08 +09:00
Susumu Komae
99debc548f
detach traced process, when tracer process terminate.
...
some fixes on PTRACE_DETACH.
refs #374
refs #280
2015-02-17 16:58:29 +09:00
Susumu Komae
fa15f6b106
support PTRACE_SYSCALL.
...
support PTRACE_O_TRACESYSGOOD.
ptrace_report_exec() calls ptrace_report_signal().
refs #265
2015-02-17 16:56:27 +09:00
Susumu Komae
8568a73f33
traced process should stop by any signal except for SIGKILL,
...
even if SIG_IGN. (LTP ptrace01)
2015-02-17 16:51:29 +09:00
Tomoki Shirasawa
b26fa4e87c
wrong send signal to sender process when kill other process group (LTP kill10)
...
refs #404
2015-01-29 16:14:31 +09:00
Susumu Komae
bd5f43b119
support PTRACE_SINGLESTEP.
...
support debug/int3 exception.
2015-01-29 15:48:05 +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
912b8a886c
do_kill distinguish PTRACE_CONT from kill.
2014-12-26 15:23:11 +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
Balazs Gerofi bgerofi@riken.jp
cc9d30efbf
do_signal(): support for SIGSYS
...
as of POSIX.1-2001:
Signal Value Action Comment
---------------------------------------------------
SIGSYS 12,31,12 Core Bad argument to routine
2014-12-04 18:10:10 +09:00
Tomoki Shirasawa
a5889fb5df
sigaction check signal number (LTP sigaction02)
2014-12-04 11:31:50 +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
ab7aa3354f
repair signal implementation.
...
- Don't intrrupt syscall with the ignored signal.
2014-11-07 07:55:30 +09:00
Tomoki Shirasawa
c4e0b84792
repair signal implementation.
...
- can not interrupt syscall
- can not recieve SIGKILL
2014-10-31 16:34:59 +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
Tomoki Shirasawa
8460a7d93e
siginfo.si_status was invalid
2014-10-15 15:27:32 +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
Masamichi Takagi
759ceac769
Fix deafult signal actions
2014-10-15 14:42:34 +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
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
ef52ba7607
kill system call returned bad number
2014-09-25 14:09:07 +09:00
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
Masamichi Takagi
35dc8a3368
Issue IPI if needed when sending SIGSTOP
2014-09-10 21:21:17 +09:00
Masamichi Takagi
c78be27442
Support SIGSTOP and SIGCONT
2014-09-10 18:19:39 +09:00
Masamichi Takagi
7ca4ca4d37
Revert "Support SIGSTOP and SIGCONT"
...
This reverts commit 2325d47952 .
2014-09-10 18:19:17 +09:00
Masamichi Takagi
2325d47952
Support SIGSTOP and SIGCONT
2014-09-10 17:01:21 +09:00
Masamichi Takagi
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
Tomoki Shirasawa
7b825c0a65
fix coredump (ltp abort01)
2014-09-03 10:56:41 +09:00
Tomoki Shirasawa
f535670100
fix pipe02
2014-08-27 16:50:01 +09:00
Tomoki Shirasawa
bc8b441358
process table traversing must be under interrupt inhibition
...
add finding process table function (findthread_and_lock/process_unlock)
2014-08-25 13:24:06 +09:00
Tomoki Shirasawa
f4818e9c09
don't force terminate, when SIGTERM recieved
2014-08-21 17:22:11 +09:00
Tomoki Shirasawa
dd8b2a8f15
sigaction returns -EINVAL, when sig == SIGKILL or SIGSTOP
2014-08-21 14:04:38 +09:00
Tomoki Shirasawa
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
Tomoki Shirasawa
663c121308
interrupt syscall sufficient threads
2014-08-18 16:49:49 +09:00
Masamichi Takagi
6dd5407b5f
Return error when no core is available
...
clone returns -EAGAIN when there is no vacant core.
In addition, clone tries to use the next vacant hyper-threading
core instead of trying to use next vacant hyper-threading core
of the next vacant physical core.
2014-07-31 19:50:41 +09:00
Tomoki Shirasawa
8f78b3085c
Sending SIGKILL/SIGTERM resulting in SIGSEGV delivered (Redmine#194)
2014-07-29 11:04:46 +09:00
Tomoki Shirasawa
5e6ed852cb
Kill child threads when receiving terminating signals(redmine#63)
...
Create process table (child is missing when sending a signal to a child process just after forking it)(redmine#61)
2014-07-13 12:51:28 +09:00
Tomoki Shirasawa
770eae0186
support sigaltstack
2014-06-25 13:45:33 +09:00
Tomoki Shirasawa
bbb7f77706
interrupt syscall of signal recieved process
2014-06-11 21:06:52 +09:00
Tomoki Shirasawa
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
Tomoki Shirasawa
3e830521c1
move rt_sigaction to device dependent
...
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
NAKAMURA Gou
55817e9e83
use "struct x86_regs *" to access stack frames
...
The intention of this fix is to cope with a recent change of
PUSH_ALL_REGS.
2014-04-03 15:33:35 +09:00
NAKAMURA Gou
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00