Commit Graph

300 Commits

Author SHA1 Message Date
Wang Siyuan 08d54ec6ad Add entries other than `[stack]` in `/proc/[pid]/maps` 2026-01-27 23:01:17 -08:00
Wang Siyuan fb8c9e0c27 Revert "`ProgramToLoad` only needs a `elf_inode: Arc<dyn Inode>` instead of a `Path`"
This reverts commit 71632a51b5.
2026-01-27 23:01:17 -08:00
li041 306cc714ae Align `PidFile` semantics with POSIX standards 2026-01-28 11:20:50 +08:00
Ruihan Li b1071b6b92 Remove old gVsior workaround 2026-01-28 11:07:28 +08:00
li041 f58fb66cba Refactor `PidFile` to use `Weak<Process>` 2026-01-18 14:58:18 -08:00
Chen Chengjun 38d455496b Modify all usages of the removed Path APIs 2026-01-15 19:04:51 -08:00
Chen Chengjun 5d5f0bdcde Rename FsResolver to PathResolver and update all usages 2026-01-15 19:04:51 -08:00
Ruihan Li c1aa8a805c Fix checks for `VmarMapOptions::offset` 2026-01-14 10:27:33 +08:00
Ruihan Li fdcf5fd0fe Remove the `AT_NULL` variant 2026-01-14 10:27:33 +08:00
Ruihan Li 48ccafd7f9 Clean up the `init_stack` module 2026-01-14 10:27:33 +08:00
wyt8 4fa2b55e47 Place the heap after bss segment 2026-01-13 22:01:15 +08:00
wyt8 dac3e94bea Consider the PIE condition when loading the ELF 2026-01-13 22:01:15 +08:00
Marsman1996 d9f4229e6c Fix panic in `add_posix_timer` 2026-01-13 11:06:09 +08:00
Marsman1996 8335ba22d9 Fix stack overflow handling in InitStackWriter by validating positions before writing 2026-01-12 15:57:31 +08:00
Wang Siyuan 138401b0ab Remove `PathOrInode` 2026-01-11 17:00:23 -08:00
Wang Siyuan fedd6dc196 Apply pseudo `Path` to members of `anon_inodefs` 2026-01-11 17:00:23 -08:00
Wang Siyuan bb9b979586 Support allocating inodes from `PseudoFs` 2026-01-06 14:26:06 +08:00
jiangjianfeng bc230b24e1 Fix doc warnings 2026-01-02 11:26:43 -08:00
jiangjianfeng 82ccfcd4c6 Refactor the implementation of prlimit64 2025-12-31 16:18:45 +08:00
Ruihan Li 046c9f6a94 Improve futex code and log clarity 2025-12-29 10:11:26 +08:00
Ruihan Li ca384fc427 Never allow overlapping ELF maps 2025-12-29 10:09:58 +08:00
Ruihan Li e92fbe3e69 Correct ELF alignment settings 2025-12-29 10:09:58 +08:00
Marsman1996 545efaa155 Validate futex address alignment when waking robust futexes 2025-12-28 23:48:34 +08:00
Ruihan Li 4fdf400d2a Separate VMAR load and activation 2025-12-26 13:16:59 +08:00
Ruihan Li e2f7b0eb73 Clean up `ProgramToLoad` 2025-12-26 13:16:59 +08:00
Ruihan Li 2b8ccbf3d2 Clean up `load_elf.rs` and do overflow checks 2025-12-26 13:16:57 +08:00
Ruihan Li 586266b086 Clean up `elf_file.rs` 2025-12-25 15:41:58 +08:00
Marsman1996 bcf8f5e93c Fix OOM by adding SYSCTL_NR_OPEN limit for setrlimit and prlimit64 2025-12-25 10:17:28 +08:00
Zhang Junyang afe5e59aeb Split `vmar/mod.rs` into several files 2025-12-23 11:39:49 +08:00
Ruihan Li 49a2cecc81 Clarify the code for a long shebang 2025-12-15 10:12:12 +08:00
wyt8 fcb1a44759 Fix the implementation of prlimit64 syscall and the init process value of ResourceLimits 2025-12-11 18:01:20 +08:00
wyt8 387667ec10 Fix the return of brk syscall 2025-12-11 17:58:43 +08:00
Ruihan Li a7ecef2e58 Fix cgroup atomic mode break 2025-12-11 15:51:48 +08:00
Ruihan Li d299cf4db4 Clarify the UTS names in `/proc/version` 2025-12-11 15:38:46 +08:00
vvsv 4e0ae560bf Add `/proc/[pid]/maps` 2025-12-11 00:06:07 +08:00
Chaoqun Zheng 7d74429247 Add `timer_slack` field in `PosixThread` and implement related methods.
For now, we do not use `timer_slack` for any usage, it is just a
placeholder for running some complex programs successfully.
2025-12-09 09:33:51 +08:00
Zhang Junyang 6d2679852f Fix `if let` chains that can be collapsed 2025-12-09 09:23:58 +08:00
Zhang Junyang 127290f70d Patches for the new borrow checker 2025-12-09 09:23:58 +08:00
Zhang Junyang fc9f47a019 Fix manual implementations of `.is_multiple_of()` 2025-12-09 09:23:58 +08:00
Zhang Junyang 559ce94aba Fix elided lifetimes in return values 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
Zhang Junyang 85ca6b8934 Use `Vmar::access_remote` to fill zeros upon ELF loading 2025-12-08 12:52:37 +08:00
Ruihan Li 4e76ed5fea Migrate to new ioctl infrastructure 2025-12-07 12:01:05 +08:00
Ruihan Li 04ef99cb82 Migrate existing code to use `VmIo` 2025-12-07 12:01:05 +08:00
vvsv 0dd061269e execve should return ENOEXEC for scripts without shebang 2025-12-05 18:00:45 +08:00
jiangjianfeng 96bfab16be Fix some typos 2025-11-28 19:10:16 +08:00
Chen Chengjun e048a76afc Make the semantics of tty-related devices correct 2025-11-28 18:18:28 +08:00
Wang Siyuan 449939a32b Move the executable `PathOrInode` to `ProcessVm` 2025-11-24 12:34:42 +08:00
Wang Siyuan 423053f2e6 Store the executable `PathOrInode` in `Process` to support `execveat` memfd files with `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00
Wang Siyuan 7bd8af411b Support `execveat` memfd files without `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00