Theodore Dubois
7e4c9d45cb
Return 0 from wait with WNOHANG if child exists
2019-02-01 10:39:51 -08:00
Theodore Dubois
356cd0230f
Add missing newline on dump_stack output
2019-02-01 09:45:07 -08:00
Theodore Dubois
22b0b0e5f0
Load shared libraries with no interpreter into mmap region
2019-01-31 22:40:03 -08:00
Theodore Dubois
34c377c87d
Improve controlling tty reference counting
2019-01-31 17:57:12 -08:00
Theodore Dubois
74c5d7cec6
Create inode data owned by fds
2019-01-29 15:02:48 -08:00
Theodore Dubois
724d5f2202
Make it possible to sanely edit files through the file provider
2019-01-29 13:06:52 -08:00
Theodore Dubois
dc8b4b4aef
Autoincrement fake inodes, remove relationship with real inodes
2019-01-26 22:02:08 -08:00
Theodore Dubois
a916f874fd
Make FIONBIO take an argument
2019-01-26 17:39:45 -08:00
Theodore Dubois
2f8c0afcbf
Add sockrestart infrastructure
2019-01-26 17:39:22 -08:00
Theodore Dubois
452eef532d
Use malloc for syslog_read buffer
2019-01-24 20:12:36 -08:00
Theodore Dubois
db1ce07b42
Make FIONBIO work with real files
2019-01-24 10:59:07 -08:00
Theodore Dubois
63e1b90a3c
Send SIGCHLD when a child process stops
...
This fixes midnight commander hanging.
2019-01-23 17:30:30 -08:00
Theodore Dubois
141c201cf3
Use pthread_setname_np to make threads easier to identify in a debugger
2019-01-23 16:52:21 -08:00
Theodore Dubois
488b0c3967
Avoid locking pids_lock and tty->lock when sending signals
2019-01-22 12:55:37 -08:00
Theodore Dubois
4da246affb
Correctly handle termios of pseudoterminals
2019-01-22 12:49:04 -08:00
Theodore Dubois
d6ca8f99a0
Release files retained by poll
2019-01-21 12:21:00 -08:00
Theodore Dubois
088e7b727d
Implement ptys
...
Also a bunch of somewhat related changes, I was too lazy to break this into more than one commit
2019-01-21 12:20:43 -08:00
Theodore Dubois
21a2db30e5
Ignore flags argument to fchmodat, like the kernel does
2019-01-21 11:38:06 -08:00
Theodore Dubois
b4a24b0eb4
Stop ignoring -Winitializer-overrides
2019-01-13 17:30:08 -05:00
Theodore Dubois
cfc2017948
Fix out of bounds write in readlink
2019-01-12 16:49:24 -08:00
Theodore Dubois
0c788b79d9
Improve dump_stack output
2019-01-12 12:47:22 -08:00
Theodore Dubois
7a82537309
Revert "Use a read lock on pagetables while reading/writing user memory"
...
This reverts commit 230678d93e10f61ca205471ee230eab9a1877b9d.
It was hanging on Linux and I was too lazy to debug lol.
2019-01-11 15:04:54 -08:00
Theodore Dubois
f658d6335b
Limit the size of logged execve arguments
2019-01-11 16:58:35 -05:00
Theodore Dubois
ff83d8e267
Fix fd leaks on device nodes
2019-01-11 14:28:29 -05:00
Theodore Dubois
5aeb536d61
Copy all the fields of struct mm
2019-01-10 19:12:12 -05:00
Theodore Dubois
328fc5b4a4
Fix leak of exefile
2019-01-10 10:36:10 -05:00
Theodore Dubois
230678d93e
Use a read lock on pagetables while reading/writing user memory
2019-01-10 08:40:35 -05:00
Theodore Dubois
e5ca15aeb2
Make SIGKILL work on a stopped process
2019-01-08 09:24:46 -05:00
Theodore Dubois
842da480bf
Correctly handle spurious wakeups in wait4
2019-01-07 11:40:49 -08:00
Theodore Dubois
c14eca8ae7
Fix a couple of segfaults in midnight commander
2019-01-06 17:13:34 -08:00
Theodore Dubois
1265ff32c3
Fix zsh sometimes hanging in sigsuspend
2019-01-06 11:09:26 -08:00
Theodore Dubois
aed7f5fb38
Fix some thread sanitizer warnings
2019-01-06 09:02:31 -08:00
Theodore Dubois
d0d59ac376
Be less woke
2019-01-06 08:05:11 -08:00
Theodore Dubois
89d5b7f69a
Resolve -Wsign-compare
2019-01-05 18:11:16 -08:00
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