1bb948f43b
hwloc support
2016-04-11 22:25:27 +09:00
41bb2ab5e6
support vdso which borrows clocksource from linux
2016-03-28 22:57:44 +09:00
b1309a5d53
map PIE at map_end instead of at user_start
2016-03-23 19:14:28 +09:00
489cd6d1a2
refactor prepare_process_ranges_args_envs()
2016-03-23 19:14:28 +09:00
261bddb999
add a member pgshift into struct vm_range
...
pgshift indicates a page size in the range.
2016-03-23 19:04:32 +09:00
863a5c5e5f
fix REQ-2, REQ-6, REQ-8
2016-02-23 16:32:17 +09:00
6cda6792a9
process_msg_init_acked: don't use PA
2016-02-14 22:47:52 +09:00
2d3fda1d0b
flatten_strings: fix align (REQ-1)
2016-02-14 22:36:58 +09:00
dbddf37579
set termsig to mcexec spawned process
2016-01-21 12:08:47 +09:00
2819ec2197
fix extra copy which might cause page faults
2016-01-06 21:12:57 +09:00
8cb72df663
support McKernel's sysfs tree
2015-12-16 13:42:30 +09:00
bb81f84709
support PIE executable for PVAS
2015-12-14 11:05:28 +09:00
343bfbd30a
rename back status field
2015-10-22 20:26:50 +09:00
4e4f1208f7
delete unused member
2015-10-19 20:12:26 +09:00
04e193de13
refactoring process structures
2015-10-13 23:04:08 +09:00
cb4f3a4d65
take into account args/envs' offset in page
...
- prepare_process_ranges_args_envs()
2015-10-01 21:08:42 +09:00
59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +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
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
bb137bc9bb
make brk region just follow data region
...
This effectively reverts commit d70dd2338c .
2015-02-18 11:52:15 +09:00
d2d0fc6721
The mcexec command became executable from a command-line at the same time
2015-02-17 18:33:38 +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
912b8a886c
do_kill distinguish PTRACE_CONT from kill.
2014-12-26 15:23:11 +09:00
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
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
a6ac906105
use ftn->pid instead of proc->pid
2014-12-22 16:58:01 +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
658b88fd7b
Modify spacing
2014-10-15 14:40:47 +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
aa05f00e7e
don't map syscall pages into process space
...
Request pages, response pages, and a doorbell page are mapped into
process space to enable user processes to delegate system calls
directly to mcctrl/mcexec.
This commit removes these mappings for the following reasons.
- These mappings cause a memory leak in current fork() implementation.
- These mappings are not used.
- These mappings do not function properly.
And the fix which corrects function of these mappings is not easy.
2014-10-10 16:20:38 +09:00
658aa18ade
add memory debug (kmalloc/kfree)
...
* support "memdebug" mckernel option
* check buffer overrun when memory free and next mcexec run
* check double free
* check memory leak when next mcexec run
2014-10-07 15:45:16 +09:00
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
cb4b00ba97
Added debug messages.
2014-08-28 09:16:50 +09:00
c783ec8e11
Implemented procfs.
2014-08-28 09:16:50 +09:00
f535670100
fix pipe02
2014-08-27 16:50:01 +09:00
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
badb450153
more detailed report in memory management error path
2014-05-22 17:27:39 +09:00
a4e6269c5d
adjust prepare_process_ranges_args_envs() so that it can initialize arguments and environmnt variables from kernel space strings
2014-05-22 13:45:23 +09:00
760c9ebdb0
refactor process_msg_prepare_process() in preparation for execve()
2014-05-22 13:27:25 +09:00
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
b31a1b6db2
add PTATTR_NO_EXECUTE
2014-04-11 14:59:47 +09:00
c421965542
relocate a program interpreter to the map_start
...
This commit makes a system call that dereferences a NULL pointer fail.
2014-01-14 18:55:16 +09:00
a8c249ddaf
signal (part 1)
2014-01-07 11:57:57 +09:00
03521e9c2c
add copyrights
2013-11-14 16:49:40 +09:00
d557ba84d6
exclude interpreter's segment from data region
...
When an interpreter is located on the lower address (e.g. 0x0),
the text region is included in data region.
A fix to avoid this.
2013-10-30 14:28:32 +09:00
27172ad413
support private mapped file
2013-10-15 12:30:41 +09:00
4fb6620f3a
sys_getrlimit: modified to return mcexec's RLIMIT_STACK
2013-10-11 22:36:16 +09:00