Commit Graph

1411 Commits

Author SHA1 Message Date
4lDO2 e0a3811736 Protect fork() and clone() behind a rwlock.
rlct_clone will acquire a read lock, whereas fork will acquire a write
lock. The write lock is necessary because the fork will clone the file
table, which would result in other threads' fork/clone file descriptors
not being closed. If an address space switch fd never gets closed, fork
child processes and new threads, may never switch address spaces before
they are started, which has resulted in hard-to-debug RIP=0 instr fetch
page faults.
2024-03-27 10:30:49 +01:00
Jacob Lorentzon f7ac690c45 Fix pthread rwlock code 2024-03-26 15:46:32 +00:00
4lDO2 6e1a0668aa Fix i686 signal trampoline asm. 2024-03-25 11:26:59 +01:00
4lDO2 b4799fdc28 Don't map thread stacks as MAP_SHARED, lol.
MAP_SHARED means it will continue to be shared after forks, which
obviously isn't the correct behavior. `acid thread` doesn't segfault
infinitely, anymore.
2024-03-25 11:25:37 +01:00
4lDO2 df91c67cf0 Implement redox_mkfs_v1. 2024-03-18 17:18:42 +01:00
4lDO2 53f7b640bd Update redox_syscall. 2024-03-17 18:13:05 +01:00
4lDO2 f2c53e03ee Implement the event queue ABI. 2024-03-17 18:02:07 +01:00
Jacob Lorentzon e0b640d530 Implement new low-level signal trampoline 2024-03-17 16:58:42 +00:00
Jeremy Soller e7ebd7c381 Merge branch 'fix_arm64_thread_spawn' into 'master'
Fix thread spawning on aarch64

See merge request redox-os/relibc!463
2024-03-17 16:32:16 +00:00
bjorn3 7ac379a7a1 Fix thread spawning on aarch64
* Correctly align the stack
* Fix argument order of the ldp instructions
* Remove unnecessary ldr x5 instruction
2024-03-17 17:09:41 +01:00
bpisch a9db7af754 Add stub for SIOCATMARK command of ioctl. 2024-03-09 08:56:37 +01:00
Bendeguz Pisch 2284bc4af5 Fix posix prio process (same as MR458 with fixed commits) 2024-03-04 13:41:43 +00:00
Jeremy Soller 4d2d062f07 Fix build 2024-03-01 08:01:15 -07:00
Jeremy Soller d3aac3585c Merge branch 'errno-naming' into 'master'
Use standard casing and mangling for internal errno

See merge request redox-os/relibc!457
2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen a7137512fa Use standard casing and mangling for internal errno 2024-03-01 00:25:42 +00:00
Jeremy Soller 4f8d16a3b9 Merge branch 'crypt' into 'master'
Add Crypt functions

See merge request redox-os/relibc!453
2024-03-01 00:23:42 +00:00
Darley Barreto 55dc2019f2 Add Crypt functions 2024-03-01 00:23:42 +00:00
Peter Limkilde Svendsen 9093f6bc47 Use Cell representation for errno 2024-02-29 14:07:40 +00:00
Jeremy Soller 9ef3374c30 Merge branch 'getpagesize-panic' into 'master'
Panic when getpagesize() cannot succeed as specified

See merge request redox-os/relibc!455
2024-02-19 00:19:03 +00:00
Peter Limkilde Svendsen aea9e2b432 Panic when getpagesize() cannot succeed as specified 2024-02-19 00:19:03 +00:00
Jeremy Soller 534e7ef80c Make redox fpath only return new format 2024-02-12 15:09:13 -07:00
Jeremy Soller 8313fc1c77 Fix array pointer mismatch in parse_grp 2024-02-10 14:27:50 -07:00
Jeremy Soller a7b2294b62 Add more networking constants 2024-02-03 13:17:40 -07:00
Jeremy Soller 5b78afe5be Do not set constants UNLOCKED and LOCKED 2024-02-02 15:40:41 -07:00
Jeremy Soller f708800898 Add struct user for linger 2024-02-02 15:35:08 -07:00
Jeremy Soller 47ac9e2d0b Add more TCP socket options 2024-02-02 15:31:08 -07:00
Jeremy Soller 9b2b9e6c26 Add struct linger 2024-02-02 15:30:51 -07:00
Jeremy Soller af7441e834 Implement grantpt as no-op 2024-01-18 13:26:14 -07:00
Jeremy Soller 7eefdaf45b Use redox-path external crate 2024-01-18 11:07:51 -07:00
Jeremy Soller 02ac8a6363 Move redox path handling to redox-path crate 2024-01-17 15:51:11 -07:00
Jeremy Soller ffe152cc51 Fall back to the file scheme if no scheme provided 2024-01-17 15:09:20 -07:00
Jeremy Soller 83e4095e42 Merge branch 'ptys' into 'master'
Add forkpty, ptsname and posix_openpt

See merge request redox-os/relibc!450
2024-01-17 03:05:50 +00:00
Darley Barreto 9d8094baee Add forkpty, ptsname and posix_openpt 2024-01-17 03:05:50 +00:00
Jeremy Soller a2321e4b2b Add initgroups 2024-01-16 20:00:57 -07:00
Jeremy Soller d4b0e172f0 Add recvmsg (stub on redox) 2024-01-16 19:47:39 -07:00
Darley Barreto 298340abf9 Remove ralloc 2024-01-13 10:57:02 -03:00
Jeremy Soller 88da47a690 Fix incorrect reference to iovec in sys/socket.h 2024-01-12 15:44:02 -07:00
Jeremy Soller 52612784b6 Add sendmsg stub 2024-01-12 15:36:01 -07:00
Jeremy Soller eb3b93d14a Define strtold in C until Rust and cbindgen can use f128 2024-01-12 12:21:20 -07:00
Jeremy Soller a8f9f64274 Fix stack_chk_guard size on 32-bit 2024-01-11 09:41:17 -07:00
4lDO2 375e0c78bf Add a strerror_r-like libredox API. 2024-01-11 16:12:58 +01:00
4lDO2 5630b6e0df Make relibc (except libm) pure Rust 2024-01-11 13:08:06 +00:00
Jeremy Soller 49ee2f0593 Stub some terminal ioctls on Redox 2024-01-08 20:35:17 -07:00
Jeremy Soller 107fcfeb7e Implement getsid and setsid for Redox 2024-01-08 14:43:35 -07:00
Jeremy Soller f4511a487f Clean up rustfmt options, and format 2024-01-08 14:10:30 -07:00
bjorn3 eff6700ff4 Add back Drop impl for Guard to fix Read::read_to_end 2024-01-07 15:30:53 +01:00
Ron Williams 0340ba3b36 fix canonicalize of libc: 2024-01-05 05:26:51 -08:00
Jeremy Soller 2a40638ec3 Fix assert definition 2024-01-03 13:02:51 -07:00
Jeremy Soller 6b88ad6271 Merge branch 'inline-core-io' into 'master'
Refactor: inline `core_io`

Closes #175

See merge request redox-os/relibc!441
2024-01-03 19:19:58 +00:00
Jeremy Soller 92b56f3f92 Format 2024-01-03 11:46:29 -07:00