Commit Graph

1537 Commits

Author SHA1 Message Date
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 1e77c0a938 Cleanup: Use `AtomicStatusFlags::new(flags)` instead of `AtomicU32::new(flags.bits())` 2026-01-11 17:00:23 -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 0565dd1349 Apply pseudo `Path` to sockets 2026-01-11 17:00:23 -08:00
Wang Siyuan bbb6a63ee4 Apply pseudo `Path` to anonymous pipes and remove `AnonPipeFile` 2026-01-11 17:00:23 -08:00
Wang Siyuan 8eade9b631 Move pipe ktests into `pipe::common` 2026-01-11 17:00:23 -08:00
Wang Siyuan b25e41dd4f Apply pseudo `Path` to memfd files and remove `MemfdFile` 2026-01-11 17:00:23 -08:00
Wang Siyuan e6361e5242 Add pseudo `Path` 2026-01-11 17:00:23 -08:00
Wang Siyuan cb5449cf2a Add pseudo `Dentry` 2026-01-11 17:00:23 -08:00
Wang Siyuan fe633972f3 Add pseudo `Mount` 2026-01-11 17:00:23 -08:00
jiangjianfeng 184e803869 Use accurate build time only when publishing 2026-01-08 20:02:57 -08:00
Tao Su 1442060c2d Introduce `DmaStream::alloc` to reduce memory copy in TDX 2026-01-07 22:38:50 -08:00
Ruihan Li 922b204280 Move `Pipe` from `InodeImpl` to `Inode` 2026-01-07 15:41:14 +08:00
Ruihan Li 413f459e20 Find present pages in xarray 2026-01-07 10:31:57 +08:00
Qingsong Chen 33f370966d Rename aster-nix to aster-kernel 2026-01-06 16:16:17 -08:00
Wang Siyuan bb9b979586 Support allocating inodes from `PseudoFs` 2026-01-06 14:26:06 +08:00
Wang Siyuan 02a04f1365 Polling a `fd` opened with `O_PATH` should return `POLLNVAL` 2026-01-06 14:26:06 +08:00
Wang Siyuan 1bf5b398dc Remove `inode_handle/dyn_cap.rs` and `HandleInner` 2026-01-06 14:26:06 +08:00
Wang Siyuan f2b9e356f1 Reorder `HandleInner` methods to clarify diff 2026-01-06 14:26:06 +08:00
Yuke Peng 4213908366 pci: Improves PCI device enumeration by suppporting multi-function detection 2026-01-05 19:08:34 -08:00
Yuke Peng c825c0d2c8 pci: Add `PciHeaderType` & `PciDeviceType` and refactor `BarManager` 2026-01-05 19:08:34 -08:00
Yuke Peng 7634a27ba6 pci: Split the configuration space offset into device-specific 2026-01-05 19:08:34 -08:00
Zhenchen Wang 3dd881dec5 Improve fsnotify functions to pass name information more effectively 2026-01-05 13:45:25 -08:00
Ruihan Li 7ed0152d83 Remove some fdinfo attributes 2026-01-04 21:18:02 -08:00
Ruihan Li d461f81ecb Optimize `copy_to_user` 2026-01-04 21:18:02 -08:00
Ruihan Li 2155869920 Refactor `try_read` 2026-01-04 21:18:02 -08:00
Ruihan Li 4a93b34e3d Refactor `add_watch` and `remove_watch` 2026-01-04 21:18:02 -08:00
Ruihan Li 1ab7550c83 Fix comment styles and outdated comments 2026-01-04 21:18:02 -08:00
jiangjianfeng c09654887c Let mlsdisk use Pod from OSTD 2026-01-04 10:51:36 -08:00
jiangjianfeng 6f54cc56e7 Move int-to-c-enum from kernel/libs to ostd/libs 2026-01-04 10:51:36 -08:00
jiangjianfeng 01cac4268e Manage dependencies at workspace level 2026-01-04 10:51:36 -08:00
jiangjianfeng 34ab63addb Manage package metadata at workspace level 2026-01-04 10:51:36 -08:00
jiangjianfeng a0b746fb3f Run clippy test with and without ktest configuration 2026-01-03 21:17:39 -08:00
jiangjianfeng 6eb6968716 Fix broken documentation link 2026-01-04 10:47:18 +08:00
jiangjianfeng 64bac5c7b4 Add generic syscall table 2026-01-04 10:13:19 +08:00
Ruihan Li eb83a38d12 Don't panic in LoongArch64 VirtIO MMIO probe 2026-01-03 11:16:36 -08:00
Ruihan Li d18b1dc624 Simplify `fill_zeros_remote` and others 2026-01-03 10:59:41 -08:00
Ruihan Li eb76ded5fc Simplify/Clarify `notify/mod.rs` code 2026-01-02 16:47:03 -08:00
Ruihan Li 8397854b37 Fix `accepts_new_subscribers` race 2026-01-02 16:47:03 -08:00
Ruihan Li 48c5891543 Remove `VecDeque::try_with_capacity` 2026-01-02 16:47:03 -08:00
Ruihan Li dccf23e283 Redesign inode extensions 2026-01-02 16:47:03 -08:00
jiangjianfeng bc230b24e1 Fix doc warnings 2026-01-02 11:26:43 -08:00
Marsman1996 26ac77c371 Fix overflow panic in syscall `fcntl` 2026-01-01 22:50:30 +08:00
Zhang Junyang 71681dd947 Refactor DMA APIs 2025-12-31 19:40:11 -08:00
Zhang Junyang 0c30edb5da Add a `Split` trait for `KVirtArea` and `Segment` 2025-12-31 19:40:11 -08:00
jiangjianfeng 82ccfcd4c6 Refactor the implementation of prlimit64 2025-12-31 16:18:45 +08:00
Ruihan Li 033c240d8f Fix madvise behavior 2025-12-29 19:43:00 +08:00
Ruihan Li 7feb803eab Fix cases where some pages are not mapped 2025-12-29 19:43:00 +08:00
Ruihan Li eee6708aec Fix error codes in MM syscalls 2025-12-29 19:43:00 +08:00
Ruihan Li 142cd4b481 Add `is_userspace_vaddr_range` 2025-12-29 19:43:00 +08:00
Ruihan Li d19ffac68a Drop `MAP_SYNC` support 2025-12-29 19:43:00 +08:00
Ruihan Li e40091808a Fix error codes in mmap 2025-12-29 19:43:00 +08:00
Chaoqun Zheng ebfa7977b1 Adjust `blocks_count` field to `sector_count` in `InodeDesc` and `RawInode`.
In ext2, the granule of the `blocks_count` field in disk-inode is fixed at
512B. In the current implementation of Asterinas, the `blocks_count`
granule of memory-inode is BLOCK_SIZE.
2025-12-29 10:26:48 +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
Marsman1996 b46a02463b Replace RwLock with RwMutex for child node management in SysTree 2025-12-26 14:08:17 +08:00
Marsman1996 6d1155896d Fix OOM in `getdents(64)` by user space writer 2025-12-26 14:08:17 +08:00
Zhenchen Wang 847ef4c784 update statx scml documentation
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-26 13:16:59 +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
Zhenchen Wang cd7859161d Fix the issue of notifying parent in fsnotify 2025-12-25 09:55:08 +08:00
Marsman1996 2c80e0c3a4 Fix reachable unwrap in sys_arch_prctl by using the ? operator 2025-12-23 11:42:32 +08:00
Zhang Junyang ae3113194a Adjust the documentation of `aster-nix::vm` 2025-12-23 11:39:49 +08:00
Zhang Junyang afe5e59aeb Split `vmar/mod.rs` into several files 2025-12-23 11:39:49 +08:00
zjp 9c4f644bd9 Replace caps_lock's load+store by fetch_xor
It's a bit less efficient, but solves atomic violation.
2025-12-20 20:35: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 af2fbbb9ac Sort cgroup attributes and add TODOs 2025-12-11 15:51:48 +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
Ruihan Li 0cfc539608 Fix some style issues 2025-12-11 15:38:46 +08:00
Chen Chengjun de6ded3412 Fix the wrong behavior of TCSETSW flag 2025-12-11 11:02:16 +08:00
vvsv 4e0ae560bf Add `/proc/[pid]/maps` 2025-12-11 00:06:07 +08:00
vvsv b1b909dd0f Add a fast path for `Vmar::remap` 2025-12-10 22:13:17 +08:00
Chen Chengjun d92f388ae1 Provide dummy supports for some cgroup attributes required by Podman 2025-12-10 15:36:10 +08:00
vvsv 2dbcd1194b Refactor the pipe modules to fit semantics 2025-12-09 22:46:43 +08:00
vvsv f4a51e1ce9 Support open and fstatfs for anonymous pipes 2025-12-09 22:46:43 +08:00
vvsv 3b44a638f4 Zero-length reads and writes on a named pipe should succeed even if the peer is closed 2025-12-09 22:46:43 +08:00
Chen Chengjun 53575b04cd Support rt_sigtimedwait syscall 2025-12-09 22:33:42 +08:00
Zhang Junyang ca417f1264 Format with the new `rustfmt` 2025-12-09 16:26:02 +08:00
Cautreoxit dbba54b02c Workaround unrecognized input event types by writing all zeros 2025-12-09 10:20:57 +08:00
Chaoqun Zheng e1633e7707 Add some stubs for `madvise`. 2025-12-09 09:59:06 +08:00
jiangjianfeng 3235175fcf Support pty packet mode 2025-12-09 09:36:38 +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 c7a2c81366 Miscellaneous clippy fixes for Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 69327eee8d Upgrade to Rust 2024 2025-12-09 09:23:58 +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