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
Balazs Gerofi bgerofi@riken.jp
c1cf630a94
mcexec: store full path to executable
...
required so that a forked process can obtain exec reference in the
Linux kernel even if executable was specified with relative path
and fork was called after changing the current working directory
2014-12-03 15:14:26 +09:00
Tomoki Shirasawa
8f30e16976
when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259)
2014-11-27 16:13:52 +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
bgerofi@riken.jp
43e6de8124
fork()/execve()/ETXTBSY: sync parent a child duing fork() to make sure child holds a reference to the executable in the host kernel using open_exec()
2014-09-25 15:14:18 +09:00
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
bgerofi@riken.jp
55aeceb1bf
execve()/creat(): handle NULL env correctly and support for holding executable file so that write access returns ETXTBSY
2014-09-18 21:25:04 +09:00
NAKAMURA Gou
7a5764bda4
Revert "mcexec のデバッグ出力を改善"
...
This reverts commit fb38917bf6 .
2014-09-17 19:59:10 +09:00
NAKAMURA Gou
fb38917bf6
mcexec のデバッグ出力を改善
2014-09-17 19:46:55 +09:00
Balazs Gerofi bgerofi@riken.jp
e2dc359ba7
execve(): iterate and close fds with FD_CLOEXEC, resolves LTP fcntl07_64
2014-09-17 15:32:53 +09:00
Balazs Gerofi bgerofi@riken.jp
ac40b96c24
execve(): support for ETXTBSY via a new ioctl() call to test in kernel space with open_exec()
2014-09-10 14:09:11 +09:00
Naoki Hamada
efc817de92
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-05 17:20:50 +09:00
Balazs Gerofi bgerofi@riken.jp
15c9ae4c8d
execve(): lookup_exec_path() support for symlinks based on COKERNEL_EXEC_ROOT
2014-09-04 18:11:41 +09:00
Naoki Hamada
c939a372b0
Added mcexec hack.
2014-09-04 16:44:30 +09:00
Balazs Gerofi bgerofi@riken.jp
cd366de097
execve():
...
- COKERNEL_PATH and COKERNEL_EXEC_ROOT support for co-kernels with different architecture than the host (i.e., Xeon Phi).
- fix various error codes: ENAMETOOLONG, ENOENT, ENOTDIR, EACCES, ENOEXEC, EFAULT.
- support for shell code execution.
2014-09-03 18:15:43 +09:00
NAKAMURA Gou
d0b6aa1047
Merge branch 'bug201.get_user_pages'
2014-09-03 11:24:22 +09:00
NAKAMURA Gou
f2e0e42ba4
mcexec: report proper error when __NR_munmap fails
2014-09-02 15:43:08 +09:00
Tomoki Shirasawa
34854d3c93
ltp times03
2014-09-01 14:27:31 +09:00
Tomoki Shirasawa
f535670100
fix pipe02
2014-08-27 16:50:01 +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
Tomoki Shirasawa
23ab6032ba
don't close /dev/mcos
2014-08-18 16:25:24 +09:00
NAKAMURA Gou
8c1c8a40d1
use madvise() when zap_vma_ptes() fails
2014-08-07 17:53:26 +09:00
Balazs Gerofi bgerofi@riken.jp
9fda245490
execve(): return correct error value when failure (errno)
2014-08-07 14:35:15 +09:00
Naoki Hamada
3fa6818962
Merge from master.
2014-07-31 18:30:39 +09:00
Balazs Gerofi bgerofi@riken.jp
27bfe37b80
execve(): fix looking up relative path and checking executable permission
2014-07-29 15:48:14 +09:00
bgerofi@riken.jp
f1e39f5fb2
execve(): find executable first in COKERNEL_PATH and then in PATH if executable name is not absolute
2014-07-29 11:14:09 +09:00
Tomoki Shirasawa
e5d3407d8e
child mcexec don't print signal terminate message
2014-07-29 11:10:11 +09:00
Balazs Gerofi bgerofi@riken.jp
c83e80ad91
execve(): clear host user-space PTEs before context switching
2014-07-28 18:57:56 +09:00
Tomoki Shirasawa
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
Balazs Gerofi bgerofi@riken.jp
2331309d2f
mcexec: use optind instead of shifting argv[] for arguments passing to remote app
2014-05-27 17:52:56 +09:00
Balazs Gerofi bgerofi@riken.jp
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +09:00
Balazs Gerofi bgerofi@riken.jp
badb450153
more detailed report in memory management error path
2014-05-22 17:27:39 +09:00
Balazs Gerofi bgerofi@riken.jp
6a8e75dda0
fix argc bug
2014-05-22 17:11:10 +09:00
Balazs Gerofi bgerofi@riken.jp
6ca8b77cf2
fix argv/argc bug
2014-05-22 16:39:07 +09:00
Balazs Gerofi bgerofi@riken.jp
84c18ef38e
MCEXEC_UP_TRANSFER: generalize MCEXEC_UP_LOAD_IMAGE ioctl() to allow transfer in both directions
2014-05-22 12:42:23 +09:00
Balazs Gerofi bgerofi@riken.jp
f810aa56b8
refactoring mcexec's main() in preparation for execve()
2014-05-21 21:55:49 +09:00
Balazs Gerofi bgerofi@riken.jp
a5b8d388e9
dprintf exit status
2014-05-12 10:30:39 +09:00
Tomoki Shirasawa
cc8317643e
SIGPIPE fix (ltp writev)
2014-04-25 08:43:08 +09:00
Balazs Gerofi bgerofi@riken.jp
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
NAKAMURA Gou
39a86fad18
support execute disabled stack
2014-04-11 14:59:47 +09:00
NAKAMURA Gou
da81cd2d1d
mcexec: copy a pathname string of open(2) safely
...
When a open system call request is delegated, mcexec will check whether
a path name is known one such as "/proc/meminfo" and "/proc/cpuinfo".
During this check, if mcexec causes a SIGSEGV or SIGBUS signal,
mcexec will begin a loop, because mcexec has a signal handler which
returns simply.
2014-04-03 15:27:49 +09:00
Balazs Gerofi bgerofi@riken.jp
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
Balazs Gerofi bgerofi@riken.jp
391b69e8c4
refactor mcexec's main and separate signal and syscall thread initialization
2014-04-02 14:04:55 +09:00
Balazs Gerofi bgerofi@riken.jp
ccd770ba24
use per-process wait queues for system call request processing in mcexec so that multiple processes can share the per-core system call channels
2014-03-27 19:31:42 +09:00
Balazs Gerofi bgerofi@riken.jp
51f75d9ba8
mcexec: options for target CPU core ID where application is executed
2014-03-27 14:58:26 +09:00
Tomoki Shirasawa
74339586d5
change dma_buf size 256MB -> 4kB
2014-02-07 10:57:50 +09:00
NAKAMURA Gou
fcbaa9726c
correct the syscall return type
...
Long size syscall return values such as shmat()'s and lseek()'s are
broken, because lower 32 bits are only returned.
2014-02-05 11:30:57 +09:00
NAKAMURA Gou
bdc945cb34
mcexec: wait for the signal to be received
...
The mcexec may send a signal to itself in order that the mcexec
terminates abnormally.
Generally, the signal is delivered to the thread which sent the signal.
In this case, the signal terminates the mcexec immediately.
However, if the signal is delivered to another thread,
the thread which sent the signal can call exit(3)
before the signal terminates the mcexec.
2014-01-24 20:22:54 +09:00