545 Commits

Author SHA1 Message Date
Theodore Dubois
1b22ddb9bd Resolve -Wmissing-field-initializers 2019-01-05 17:29:11 -08:00
Theodore Dubois
a0ca767db6 Rewrite syslog buffer to use a generic fifo
Trivia: I wrote this ring buffer implementation in half an hour during a Google interview and it somehow works better than the old one which took me half a day.
2019-01-05 17:24:32 -08:00
Theodore Dubois
032a218a63 Mark unused function arguments 2019-01-05 17:18:54 -08:00
Theodore Dubois
b04f6f1b3b Remove some unnecessary function arguments 2019-01-05 17:18:54 -08:00
Theodore Dubois
a0d2a12f3b Implement /proc/pid/cmdline and /proc/pid/exe 2019-01-04 18:53:17 -08:00
Theodore Dubois
5cfec48854 Separate out some components of struct mem into struct mm 2019-01-04 15:17:37 -08:00
Theodore Dubois
13fb417337 Correctly handle NULL sigset in sigprocmask 2019-01-03 21:15:52 -08:00
Theodore Dubois
923571fe16 Start signal stack at bottom of alternate stack, not top
😀🔫
2019-01-03 18:04:15 -08:00
Theodore Dubois
8eb4b800a5 Implement /proc/pid/fd, /proc/self 2019-01-03 13:50:08 -08:00
Theodore Dubois
137e1a2814 Overhaul fdtable implementation to add locking 2019-01-02 21:50:25 -08:00
Theodore Dubois
a4c09fb0ce Add strace for sigpending 2019-01-02 20:02:19 -08:00
Theodore Dubois
5530f3f577 Implement sigpending 2019-01-02 19:45:06 -08:00
Theodore Dubois
571e28eaa9 Fix a typo in getres[ug]id 2019-01-02 19:21:43 -08:00
Theodore Dubois
97756cb34c Save the euid/egid when executing a setuid/setgid program 2019-01-02 19:21:25 -08:00
Theodore Dubois
1da3faacd4 Handle setuid and setgid programs 2019-01-02 18:58:16 -08:00
Theodore Dubois
bbf1eb46f5 Clear task->vfork before sys_clone returns 2019-01-01 15:08:04 -08:00
Theodore Dubois
6406cf3719 Fix condition static initializer 2019-01-01 13:14:40 -08:00
Theodore Dubois
8478bf5b53 Implement stopping processes with signals 2019-01-01 12:54:26 -08:00
Theodore Dubois
6a0f7253db Fix locking on children_rusage in reap_if_zombie 2019-01-01 12:31:42 -08:00
Theodore Dubois
1e3319c242 Don't return ECHILD from waitpid(-1) if there are children 2018-12-31 19:38:00 -08:00
Theodore Dubois
09d3885c70 Remove useless has_timer field 2018-12-31 18:03:29 -08:00
Theodore Dubois
610e9a8295 Refactor exit management code 2018-12-31 18:03:20 -08:00
Theodore Dubois
6dca791a13 Fix memory leak of timers 2018-12-31 17:30:10 -08:00
Theodore Dubois
14d30a35df Fix potential UAF when handling CLONE_VFORK 2018-12-31 17:29:36 -08:00
Theodore Dubois
3b7c92d141 Implement sigsuspend
Fixes zsh (#103)
2018-12-30 21:19:46 -08:00
Theodore Dubois
ac422754ce Improve dump_stack output 2018-12-30 21:19:22 -08:00
Theodore Dubois
eb87fe2a64 Make sure the strace output from exit actually appears 2018-12-30 21:19:03 -08:00
Theodore Dubois
87adcbc176 Handle errors in opening a shell script interpreter 2018-12-30 20:28:11 -08:00
Theodore Dubois
5c135f4a88 Unbreak ssh (fixes #224) 2018-12-27 20:57:06 -08:00
Theodore Dubois
7f48c0e806 Stub copy_file_range 2018-12-27 20:21:07 -08:00
Theodore Dubois
da72010be3 Implement getres[ug]id 2018-12-27 20:21:01 -08:00
Theodore Dubois
ca3dd4a4ad Make statfs less broken 2018-12-27 16:25:33 -08:00
Theodore Dubois
102279ef69 Print timeout in epoll strace in base 10 2018-12-26 17:30:28 -08:00
Theodore Dubois
4af803d3db Reparent children before destroying the task 2018-12-26 17:30:11 -08:00
Theodore Dubois
3c8a38e7cd Fix fd leak from chroot 2018-12-26 17:29:52 -08:00
Theodore Dubois
e6ffd60dd6 Add strace for statfs 2018-12-26 17:29:44 -08:00
Theodore Dubois
5315fbbc0a Fix crash when epoll returns an error 2018-12-26 12:29:47 -08:00
Theodore Dubois
5deb511281 Implement epoll_pwait 2018-12-26 12:29:40 -08:00
Theodore Dubois
2e83bbe9fb Fix some lock ordering issues 2018-12-26 12:11:07 -08:00
Theodore Dubois
3fd114733a Half broken epoll implementation 2018-12-25 19:05:25 -08:00
Theodore Dubois
377aa9056e Save the name of the program in the task struct 2018-12-24 23:12:19 -08:00
Theodore Dubois
9019f9c5aa Start pids at 1 again 2018-12-24 23:11:38 -08:00
Theodore Dubois
e7c6f84afb Fix grammar 2018-12-24 18:38:58 -08:00
Theodore Dubois
725ec6daf6 Autoincrementing pids 2018-12-24 18:38:47 -08:00
Theodore Dubois
f6f54adb19 Fix string.h being auto included pretty much everywhere 2018-12-24 13:20:29 -08:00
Theodore Dubois
da27277989 Don't crash the app on RNG failure 2018-12-24 12:02:31 -08:00
Theodore Dubois
e6361c2ea2 Improve uname output 2018-12-23 20:51:32 -08:00
Theodore Dubois
f94d222300 Implement procfs with just /proc/version 2018-12-23 20:40:14 -08:00
Theodore Dubois
ede204366c Add stubs for capget and capset 2018-12-23 15:45:00 -08:00
Theodore Dubois
ff4f9d9704 Don't abort on unimplemented setitimer 2018-12-23 14:54:57 -08:00