Commit Graph

783 Commits

Author SHA1 Message Date
Wang Siyuan 805e2a7c89 Remove inode-specific methods from `FileLike` 2025-11-13 09:55:53 +08:00
Wang Siyuan 4d7958c18e Add `PathOrInode` to support looking up an inode without a `Path`
Also supports opening a memfd from `/proc/[pid]/fd/[fd]`
2025-11-13 09:55:53 +08:00
Wang Siyuan 147a622aa1 Add `SymbolicLink` to support symbol links under `/proc` 2025-11-13 09:55:53 +08:00
Wang Siyuan 7f41bd3ba7 Rename `as_inode_or_err` to `as_inode_handle_or_err` 2025-11-13 09:55:53 +08:00
Wang Siyuan e85879025e Add a method `inode` to the trait `FileLike` 2025-11-13 09:55:53 +08:00
Wang Siyuan 0a0ced99e7 Add `PseudoFs` and `PseudoInode` 2025-11-13 09:55:53 +08:00
Wang Siyuan 1a3ab8aaf8 `MemfdInode`s should be linked to a tmpfs 2025-11-13 09:55:53 +08:00
Ruihan Li f57a54aa0d Remove `AccessMode` from `InodeHandle` 2025-11-12 18:19:08 +08:00
Ruihan Li 722efc62ca Remove `inode_handle/static_cap.rs` 2025-11-12 18:19:08 +08:00
Ruihan Li 277b5b5c24 Fix how O_PATH interacts with other flags 2025-11-12 18:19:08 +08:00
Ruihan Li 25beca462d Add regression tests 2025-11-12 18:19:08 +08:00
Ruihan Li eaeba41f5e Refine some access checks 2025-11-12 18:19:08 +08:00
Ruihan Li b4385ddc3d Simplify some memfd code 2025-11-12 18:19:08 +08:00
wyt8 9a0f63b33e Modify the import of modules in kernel to remove dependencies of lib.rs 2025-11-10 10:53:08 +08:00
Tate, Hongliang Tian 06f798908a Extract kernel initialization code into a module 2025-11-10 10:53:08 +08:00
wyt8 05287667c3 Ensure the idle tasks do not sleep or block 2025-11-10 10:53:08 +08:00
jiangjianfeng cef527f372 Open /dev/tty should also increase pty slave count 2025-11-07 20:22:16 +08:00
jiangjianfeng 49485058ec Correct the device major ID for pty slave 2025-11-07 20:22:16 +08:00
jiangjianfeng a41db92b4e Support nonblocking mode for tty and pty 2025-11-07 20:22:16 +08:00
jiangjianfeng c4ee351639 Fix the unlink problem about devpts 2025-11-07 20:22:16 +08:00
jiangjianfeng 601ac76676 Avoid unwrap on devpts when dropping pty master 2025-11-07 20:22:16 +08:00
jiangjianfeng cd981a0a8d Correct the behavior about closing pty 2025-11-07 20:22:16 +08:00
Chen Chengjun b17602693a Add /proc/[pid]/cgroup 2025-11-07 11:47:23 +08:00
Chen Chengjun 77fb73bdd7 Enable the process management for cgroup 2025-11-07 11:47:23 +08:00
Chen Chengjun cda06613f0 Revise the content of root field for the mountinfo file 2025-11-07 11:44:04 +08:00
Wang Siyuan e336882eee Do not drop `Arc<dyn FileLike>` in an incorrect context 2025-11-06 20:24:25 +08:00
Hang Shu e27b16ec4b Remove IntervalSet::find_one unreachable code 2025-11-06 19:36:12 +08:00
Ruihan Li 0bff86582a Handle TID events in procfs 2025-11-06 15:41:13 +08:00
Ruihan Li 9171a0d13f Correct `main_thread()` usages in procfs 2025-11-06 15:41:13 +08:00
Ruihan Li 2d01804d19 Correct lock usages in procfs 2025-11-06 15:41:13 +08:00
Ruihan Li 4e0142b176 Resolve some minor issues 2025-11-06 15:41:13 +08:00
Wang Siyuan ff021e0b89 Make `memfd` a sub module of `ramfs` 2025-11-04 13:02:06 +08:00
Wang Siyuan 6ba1a84ae9 Support sealing memfd files 2025-11-04 13:02:06 +08:00
Wang Siyuan d1506171d2 Count writable mappings of each MemfdInode's VMO
The "writable mappings" refers to shared mappings that may include the `PROT_WRITE` permission.
2025-11-04 13:02:06 +08:00
Wang Siyuan 7aa6a47612 Add `MemfdInode` 2025-11-04 13:02:06 +08:00
jiangjianfeng 6e8dac0c36 Refactor the implementation of signalfd 2025-11-04 11:56:13 +08:00
jiangjianfeng d2b88f48ff Refactor the implementation of kill process 2025-11-04 11:56:13 +08:00
jiangjianfeng 00c79732e6 Re-introduce the process-wide sigqueues 2025-11-04 11:56:13 +08:00
Chen Chengjun 6f8877f252 Rename some variables and let src_name_addr can be NULL for some mount operations 2025-11-03 15:56:05 +08:00
Chen Chengjun d66dbdd3bc Revise some error numbers and messages 2025-11-03 09:57:48 +08:00
Chen Chengjun d42b006e1a Refactor named pipe to correct its opening and blocking behaviors 2025-11-03 09:57:48 +08:00
Chen Chengjun 5eddf21596 Introduce open API for Inode trait to replace as_* APIs 2025-11-03 09:57:48 +08:00
Chen Chengjun 4fe8554d63 Decouple PipeReader/Writer with status flags 2025-11-03 09:57:48 +08:00
Chen Chengjun b447a605ed Introduce PerMountFlags and support MS_REMOUNT 2025-11-02 21:24:50 +08:00
Chen Chengjun 498c2f3c91 Make FsFlags consistent with Linux's super block flags 2025-11-02 21:24:50 +08:00
Chen Chengjun c77edbace8 Provide mem_unit and procs in sysinfo 2025-11-02 14:09:55 +08:00
Tao Su eb4edd25e8 Add TSM module 2025-10-31 08:53:27 +08:00
Ruihan Li d487e42b7c Reunify the style of defining `arch` modules 2025-10-30 17:04:45 +08:00
Zejun Zhao 39a541fdeb Add RISC-V FPU support 2025-10-29 13:24:30 +08:00
Wang Siyuan 89e759894f Remove `Rights` from VMO 2025-10-29 12:22:22 +08:00