59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +09:00
4ebe778ede
vm->exiting: deal with exit_group() and concurrent page faults
2015-06-25 16:04:04 +09:00
2af2b1205f
temporary fix for setfsuid/setfsgid
2015-05-19 06:27:59 +09:00
7d5a68be1b
add PID and GID to /proc/pid/status
...
add /proc/pid/cmdline
refs #445
refs #447
2015-05-18 17:45:37 +09:00
5f19842a6a
support for process_vm_readv()/process_vm_writev()
2015-03-25 19:44:56 +09:00
c2a1f933e8
Set tid (instead of pid) for ptrace event message of
...
PTRACE_EVENT_{FORK,VFORK,CLONE,VFORKDONE}.
Specify 2nd argument as pid (instead of -1) of function findthread_and_lock(),
to find tracee process in ptrace subroutines.
(gdb testsuite gdb.base/watch_thread_num.exp)
2015-03-20 13:22:00 +09:00
055769254d
implement mlockall()/munlockall() for LTP syscall
2015-03-19 16:46:31 +09:00
8c662c83be
implement mincore(2) for LTP
2015-03-19 16:32:03 +09:00
4698bc40c2
implement System V shared memory for LTP syscalls
2015-03-19 16:21:18 +09:00
f5d935b703
support signalfd4 step1
2015-03-18 17:35:43 +09:00
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
fa923da0e3
add host PTE cleaning to execve(). refs #377
...
This removes a cause of LTP gethostid01's wrong behavior.
2015-03-10 18:23:50 +09:00
b553de7435
supports PTRACE_GETREGSET, PTRACE_SETREGSET.
...
supports PTRACE_GETFPREGS, PTRACE_SETFPREGS.
refs #421
2015-03-06 19:18:32 +09:00
9ad48083aa
make PTRACE_POKETEXT use patch_process_vm()
2015-03-04 12:04:54 +09:00
22d8d169b6
change copy-out routines
...
- restrict copy_to_user() to only current process.
- add write_process_vm() to write specified process space.
2015-03-04 11:29:16 +09:00
063fa963c3
change copy-in routines
...
- restrict copy_from_user() to only current process.
- add read_process_vm() to read specified process space.
2015-03-04 11:29:15 +09:00
2239a6b09b
modify page_fault_process()
...
- change its argument from 'struct process *'
to 'struct process_vm *'.
- change its name from 'page_fault_process()'
to 'page_fault_process_vm()'.
- allow to resolve a fault on the process_vm of another process.
2015-03-04 11:29:15 +09:00
8c179d506a
support PTRACE_ARCH_PRCTL.
...
refs #420
2015-03-03 14:22:57 +09:00
8caeba7cba
support PTRACE_GETSIGINFO and PTRACE_SETSIGINFO
...
refs #422
2015-03-03 09:54:57 +09:00
026164eda4
fix PTRACE_ATTACH, PTRACE_DETACH, detach at tracer process terminated.
...
tracee process may have no parent, increment/decrement refcount.
refs #374
refs #280
2015-02-25 21:09:44 +09:00
73743eeeb0
temporary fix for waiting tracee blocked
2015-02-24 15:20:32 +09:00
f35cc66d18
delete unused argument "ctx" from do_syscall
...
support waitid option "WNOWAIT"
2015-02-23 17:14:14 +09:00
d9cf1d49b1
support waitid
...
send SIGCHLD to parent when SIGSTOP or SIGCONT received
refs #425
refs #283
2015-02-22 20:05:30 +09:00
0307f6a6cc
impementation of sched_{setparam, getparam, setscheduler, getscheduler, get_priority_min, get_priority_max, rr_get_interval} system calls
2015-02-19 11:46:03 -08:00
2baf274dac
fix PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK and PTRACE_O_TRACECLONE.
...
allocate debug registers area, for new process.
(gdb testsuite gdb.base/inferior-died.exp)
refs #266
refs #372
2015-02-18 16:20:23 +09:00
c0edb6fe6f
add new cpu state CPU_STATUS_RESERVED
2015-02-18 13:46:08 +09:00
16af976a71
support msync() system call. refs #382
...
Msync(2) of this version writes only the pages which the calling process
modified. Modifications of the other processes are not written.
2015-02-18 11:52:15 +09:00
6485578a7f
sched_yield implementation
2015-02-17 16:20:51 -08:00
dbe4ec3247
support PTRACE_O_TRACECLONE and PTRACE_O_TRACEEXEC.
2015-02-17 17:00:48 +09:00
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
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
d998691425
fix setpgid(0, 0)
2015-02-13 13:51:00 +09:00
0e0bc548f6
fix mcexec SIG_IGN
2015-02-12 19:02:58 +09:00
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
d30d8fe71c
support getcpu() system call. refs #385
...
It appeared on Linux(x86) in kernel 3.1.
2015-02-10 18:35:41 +09:00
5f5ab34559
support PTRACE_ATTACH.
...
fix PTRACE_TRACEME, PTRACE_DETACH.
2015-01-30 21:02:01 +09:00
bd5f43b119
support PTRACE_SINGLESTEP.
...
support debug/int3 exception.
2015-01-29 15:48:05 +09:00
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
e30946f1f0
fix PTRACE_CONT may cause error.
...
refs #369
2015-01-29 14:10:31 +09:00
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
d04b5a09bd
PTRACE_KILL omit sched_wakeup_process return
...
refs #369
2015-01-27 10:55:49 +09:00
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
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
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
912b8a886c
do_kill distinguish PTRACE_CONT from kill.
2014-12-26 15:23:11 +09:00
a91bf9a13d
ptrace: Make PTRACE_CONT/KILL debug print separated.
2014-12-24 12:39:29 +09:00
fcfa94cea1
ptrace: Add PTRACE_O_TRACEFORK (fake) support.
2014-12-24 12:39:13 +09:00
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
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
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