Commit Graph
1046 Commits
Author SHA1 Message Date
Susumu Komaeandpostpeta bd5f43b119 support PTRACE_SINGLESTEP.
support debug/int3 exception.
2015-01-29 15:48:05 +09:00
Susumu Komaeandpostpeta 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 Komaeandpostpeta e30946f1f0 fix PTRACE_CONT may cause error.
refs #369
2015-01-29 14:10:31 +09:00
Susumu Komaeandpostpeta 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 Komaeandpostpeta 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 Komaeandpostpeta 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
Balazs GerofiandBalazs Gerofi bgerofi@riken.jp 5f095b3952 McKernel IHK SMP-x86 support (build system and config files) 2014-12-25 11:03:04 +09:00
Naoki Hamadaandpostpeta a91bf9a13d ptrace: Make PTRACE_CONT/KILL debug print separated. 2014-12-24 12:39:29 +09:00
Naoki Hamadaandpostpeta fcfa94cea1 ptrace: Add PTRACE_O_TRACEFORK (fake) support. 2014-12-24 12:39:13 +09:00
NAKAMURA Gou b1b6fab7b8 fix a warning
| mckernel/kernel/host.c: In function 'syscall_packet_handler':
| mckernel/kernel/host.c:504:
|     warning: implicit declaration of function 'find_command_line'
2014-12-22 16:58:08 +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 9c94e90007 use ftn->tid instead of proc->tid 2014-12-22 16:58:02 +09:00
NAKAMURA Gou a6ac906105 use ftn->pid instead of proc->pid 2014-12-22 16:58:01 +09:00
bgerofi@riken.jpandBalazs Gerofi 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 3c24315f91 support for /proc/mcos%d/PID/maps (without file info) (LTP mlock03) 2014-12-05 16:29: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.jpandBalazs Gerofi 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.jpandBalazs Gerofi bgerofi@riken.jp 8909597499 clone(): support for handling CLONE_SIGHAND and CLONE_VM flags separately 2014-12-04 16:55:17 +09:00
bgerofi@riken.jpandBalazs Gerofi 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
Balazs GerofiandBalazs Gerofi bgerofi@riken.jp 89acf5c5d6 support for AT_RANDOM auxiliary entry on the process stack (needed for _dl_random in glibc) 2014-11-11 08:48:27 +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
bgerofi@riken.jpandBalazs Gerofi bgerofi@riken.jp 658ff759ef build scripts: support for separate build and source directories 2014-10-20 18:27:24 +09:00
NAKAMURA Gou 11947a4ce3 initialize and propagate a cpu affinity (temporary fix)
This fix is only intended to work an OpenMP program.
It is necessary to investigate behavior of linux and reimplement this
fix.
2014-10-20 15:21:49 +09:00
NAKAMURA Gou f195b9c675 don't use COW pages in private anonymous mapping (quick fix) 2014-10-17 23:25:15 +09:00
Masamichi Takagi 6cd1016d57 Remove debug message that could dereference NULL 2014-10-17 14:24:44 +09:00
NAKAMURA Gou d2cb890cdd idle(): recheck runq just before cpu status check
There is a problem which causes wait4(2) hang when wait4(2) called by a
process races with its child process termination.
This is a quick fix for this problem. See idle().

refs #271
2014-10-15 17:58:27 +09:00
NAKAMURA Gou 758796bb69 idle(): cosmetic changes 2014-10-15 17:58:27 +09:00
Naoki HamadaandTomoki Shirasawa 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 HamadaandTomoki Shirasawa a150a19393 ptrace: Bug fixed.
see: http://postpeta.pccluster.org/redmine/issues/265#note-3
2014-10-15 14:56:30 +09:00
Naoki HamadaandTomoki Shirasawa 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 HamadaandTomoki Shirasawa a101aa0534 ptrace: Temporal fix for signal inconsistency. 2014-10-15 14:52:32 +09:00
Naoki HamadaandTomoki Shirasawa 1f120b929b ptrace: Make unimplemented ptrace requests return error. 2014-10-15 14:50:11 +09:00
Masamichi TakagiandTomoki Shirasawa f28eb0a672 Fix taking exit status when wait4()-ing stopped 2014-10-15 14:49:36 +09:00
Masamichi TakagiandTomoki Shirasawa 95dd193fd6 Fix reporting of having done execve to ptracer 2014-10-15 14:49:23 +09:00
Naoki HamadaandTomoki Shirasawa 2997274470 Make __WCLONE option for wait4(2) and flags for clone(2) work properly. 2014-10-15 14:45:58 +09:00
Masamichi TakagiandTomoki Shirasawa 66db108dd3 Use erase-safe Ver. of list traversal in waitpid 2014-10-15 14:42:52 +09:00
Masamichi TakagiandTomoki Shirasawa 013d3e95c2 Fix manipulation of fork_tree_node for ptrace 2014-10-15 14:42:17 +09:00
Masamichi TakagiandTomoki Shirasawa 658b88fd7b Modify spacing 2014-10-15 14:40:47 +09:00