d4471df94e
execve: use thread variable instead of cpu_local_var(current)
...
This fixes crashes _without_ oversubscribing with a process doing
fork() execve() / wait() in a loop
Issue: #1132
Change-Id: I98531f4643ad6b6a8f750a1a3f05b9ff3ebfd50f
2018-07-02 04:28:23 +00:00
a6ac4acf40
rusage: Fix initialization of rusage->num_processors
...
Refs: #1064
Change-Id: I4c04127a766b9c71f726113b8b7d6416ff971bff
2018-06-28 11:24:47 +09:00
90dba00742
fix return value of sched_getaffinity (POSTK_DEBUG_TEMP_FIX_58) refs#1122
...
Change-Id: I3d7b9b74eec268dd49b703600ca56df1d2933bd9
2018-06-21 09:15:22 +09:00
c50e7c1029
prepare_process_ranges_args_envs(): fix saving cmdline
2018-06-07 07:17:21 +09:00
5f4dbb2c71
mprotect: Fix early exit condition on page table attribute
2018-06-06 01:39:44 +09:00
511555c8cb
fix: /proc/<PID>/maps outputs a unnecessary NULL character
2018-05-30 16:38:28 +09:00
81699345cc
mprotect: do not set page table writable for cow pages
...
Change-Id: If8b0bb56e7dae59aa9dc3d745a4cc4e43bf4bf9a
2018-05-30 13:29:55 +09:00
130751ff66
fileobj: avoid memory leak in path recording
2018-05-14 17:46:52 +09:00
f3d18eb9de
fileobj/devobj: record path name (originally by Takagi-san)
2018-05-14 17:46:52 +09:00
249bda4aef
fileobj: use MCS locks for per-file page hash
2018-05-14 17:46:52 +09:00
c52f7a5b49
syscall wait4: add _WALL (POSTK_DEBUG_ARCH_DEP_44)
...
Needed by strace -f
2018-05-11 09:22:54 +09:00
a7f645f7df
terminate(): fix update_lock and threads_lock order to avoid deadlock
2018-03-25 08:29:53 +09:00
73731d2a0d
ihk_mc_map/unmap_virtual(): do proper TLB invalidation
2018-03-24 07:58:08 +09:00
8d5f95de04
schedule: Add comment on #1029
...
refs #1029
2018-03-12 17:11:20 +09:00
7bef1f5117
Remove debug-print from do_syscall()
2018-03-12 02:07:12 +09:00
fab0641813
prepare_process_ranges_args_envs(): fix generating saved_cmdline to avoid PF in strlen()
2018-03-19 13:56:04 +09:00
c107d1fdf9
fix: Bug for measuring rss in fork()
...
refs: #1032
2018-03-15 14:29:16 +09:00
bc89a51e00
fix: getrusage's u|stime race-condition caused by release_thread() and getrusage()
2018-03-15 14:26:39 +09:00
fe42481d6f
Add allow_oversubscribe kernel argument
...
It's not allowed in the default setting.
Execute mcreboot.sh with -O option to allow it.
refs #1072
2018-03-10 13:08:38 +09:00
8c2e20c3aa
uti: Fix uti thread on the McKernel side blocks others in do_syscall()
...
It could block other threads on the same CPU in do_syscall() since it busy-waits after woken up
because it's not allowed to sleep again.
2018-03-09 18:02:45 +09:00
65667709a8
Fix thread status race-condition caused by hold_thread() in do_kill() and terminate()
...
Conflicts:
arch/x86_64/kernel/syscall.c
kernel/syscall.c
2018-03-09 17:53:17 +09:00
06b1b4f8ab
Fix deadlock on thread->times_update in getrusage()
...
Set thread->in_kernel properly on exiting interrupt handler when entering
it from kernel mode.
Conflicts:
arch/x86_64/kernel/cpu.c
kernel/mem.c
2018-03-09 17:26:31 +09:00
b7a7281195
fix: Bug for getrusage often return incorrect ru_stime
...
refs #1034
2018-03-07 13:11:37 +09:00
b77732fb4f
fix: Bug for getrusage(RUSAGE_CHILDREN) return parent info (POSTK_DEBUG_TEMP_FIX_72)
...
refs #1033
2018-03-07 13:10:45 +09:00
a224bf648a
fix: Bug for getrusage return incorrect ru_maxrss
...
refs #1032
2018-03-07 13:09:24 +09:00
140f813d77
fix: differences in behavior of sigaction between Linux and Mckernel
2018-03-01 09:44:44 +09:00
7ad6f9595c
fix: bug for ptrace_attach self pid
2018-03-01 09:37:12 +09:00
f46287a711
ptrace: support for attaching child_process to parent
...
refs #885
2018-02-22 09:47:59 +09:00
c260b5c6f3
xpmem: support for fork()
...
refs #925
2018-02-22 09:37:48 +09:00
c9157f273f
do_fork: If mcexec succeeds for fork and McKernel fails fork, the child process of mcexec will remain.
2018-02-14 16:37:38 +09:00
228f8f8533
Wait for LWK to run at shutdown.
...
refs #898
refs #928
2018-02-06 10:40:12 +09:00
559fc9746c
signal: check_signal must be called after check_need_resched.
2018-01-28 13:38:51 +09:00
54169bc3ea
procfs: indicate heap in /proc/maps
2018-01-26 16:22:43 +09:00
142e923222
procfs: indicate VDSO, vsyscall and stack in /proc/maps
2018-01-26 16:02:32 +09:00
86efc86945
save_syscall_return_value(): separate from check_signal() and call from syscall() (for ARM64)
2018-01-26 14:43:18 +09:00
ebaafa95d8
settid(): clear syscal offload request before populating
2018-01-26 13:54:34 +09:00
b8ee144e67
do_fork(): return -ENOMEM when no more TIDs available
2018-01-26 13:53:05 +09:00
f56e087208
init_process_stack(): fix stack alignment (align to 64 bytes)
2018-01-26 13:43:23 +09:00
4bb65494e9
signal: When the process receives a termination signal, it first terminates mcexec.
...
refs #863
refs #870
2018-01-23 14:40:38 +09:00
2f2b3cdc6f
signal: interrupt_syscall is called by the core executing the thread that recieved the signal.
...
refs #999
2018-01-23 14:31:04 +09:00
1b25379c02
small fix: reset switch_ctx flag in schedule() for redo
2018-01-14 14:50:31 +09:00
0fa88f513f
fix broken files
2017-12-27 15:28:13 +09:00
cd54c5983a
fix openat
2017-12-27 14:59:13 +09:00
6084faeecd
make McKernel's execve behave same as Linux when argv or envp is set to NULL (fix for TEMP_FIX_21)
2017-12-26 17:43:17 +09:00
d209c00a30
part of Issue#994
...
mcexec: open syscall moves to arch_dep
do_fork: don't use __NR_fork. use __NR_clone
vfork: moves to arch_dep
2017-12-26 10:30:33 +09:00
9a5d5feb9c
time(): Split into architecture dependent functions
...
This fixes the bug reported as POSTK_ARCH_DEP_13 and POSTK_DEBUG_ARCH_DEP_13.
2017-12-23 11:36:52 +09:00
0cda763f95
fix /proc/*/pagemap
...
refs #387
2017-12-25 16:08:51 +09:00
cc7be46b7d
make sure to context-switch to idle thread when therad's status is PS_EXITED
...
refs #1029
2017-12-25 13:32:42 +09:00
589504dc33
mcreboot: -h to indicate halting CPU in idle threads (e.g., in futex_wait())
2017-12-18 11:22:15 +09:00
aebacb243e
User Space:swapout (this is a rebase commit to merge into development)
2017-11-28 09:16:00 +09:00