Commit Graph

2824 Commits

Author SHA1 Message Date
Chen Chengjun fc69af3e95 Support the basic configfs 2025-10-09 17:38:08 +08:00
Chen Chengjun 537f08d7cf Make the cgroup systree independent 2025-10-09 17:38:08 +08:00
Chen Chengjun 6dd4899d4a Supports multiple systree instances 2025-10-09 17:38:08 +08:00
Ruihan Li cded205535 Retire the LTP SMP blocklist 2025-10-07 11:43:02 +08:00
Ruihan Li 7319a7b173 Add wakeups after moving children 2025-10-07 11:43:02 +08:00
Ruihan Li d50155661c Lock run queues with IRQ disabled 2025-10-07 11:43:02 +08:00
Ruihan Li 56d78ab649 Fix some minor style issues 2025-10-06 14:46:23 +08:00
Ruihan Li b4f66ab379 Fix free memory value in `meminfo` 2025-10-06 14:46:23 +08:00
Ruihan Li 78ff1a689b Fix wrong formats in `{uid,gid}_map` 2025-10-06 14:46:23 +08:00
Ruize Tang 50eaffc731 Remove `RwLock.downgrade` due to potential contention with `RwLock.read` 2025-09-30 17:34:22 +08:00
jiangjianfeng d75a2481bb Support /proc/pid/uid_map and /proc/pid/gid_map 2025-09-30 16:42:54 +08:00
zjp 9e4a67879f chore: allow unexpected_cfgs `cfg(ktest)` to circumvent warnings
warning: unexpected `cfg` condition name: `ktest`
  --> ostd/src/util/ops.rs:27:7
   |
27 | #[cfg(ktest)]
   |       ^^^^^ help: there is a config with a similar name: `test`
   |
   = help: consider using a Cargo feature instead
   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
            [lints.rust]
            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ktest)'] }
   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ktest)");` to the top of the `build.rs`
   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
2025-09-30 11:44:24 +08:00
zjp e7ef7d5947 ostd: remove dead buddy_system_allocator dependency
cc https://github.com/asterinas/asterinas/issues/2480#issuecomment-3349718870
2025-09-30 11:44:24 +08:00
Ruihan Li d43fbd8f89 Fix some `getrandom` behavior 2025-09-30 11:36:37 +08:00
Ruihan Li 36a38c3f04 Bump `rand` version to 0.9.2 2025-09-30 11:36:37 +08:00
Ruihan Li 75f95cc1da Remove some unnecessary `cfg_if` uses 2025-09-30 11:36:37 +08:00
Ruihan Li b606e3456c Don't panic if `set_child_tid` is invalid 2025-09-30 09:54:40 +08:00
Ruihan Li 6336bb9fc8 Fix races when finding the reaper 2025-09-30 09:54:40 +08:00
Ruihan Li 8be5465ace Add more checks for `clone` 2025-09-30 09:54:40 +08:00
Zejun Zhao 294c55d0df Fix `semid_ds`'s layout on non-x86_64 platforms 2025-09-29 23:46:01 +08:00
jiangjianfeng 702aa7d9ee Support CLONE_PARENT flag 2025-09-29 13:27:22 +08:00
Zejun Zhao 899db770f6 Fix parameter passing of `preadv/pwritev`-family syscalls 2025-09-28 22:18:53 +08:00
Zejun Zhao b183f9c06d Fix `epoll_event`'s layout on non-x86_64 platforms 2025-09-28 22:16:19 +08:00
Tao Su 878ff925d1 Add `futex`, `lseek` and `newfstatat` syscall limitation to the book 2025-09-28 18:03:33 +08:00
Ruihan Li fcadc24a5c Fix `EACCES` errno in UNIX socket tests 2025-09-28 10:56:35 +08:00
Tate, Hongliang Tian d221342aa7 Revise the writing for the Linux system call table 2025-09-28 09:51:59 +08:00
jiangjianfeng 6c544053af Set the default domainname as `(none)` 2025-09-28 09:35:39 +08:00
jiangjianfeng 882dea6125 Add syscall setdomainname 2025-09-28 09:35:39 +08:00
jiangjianfeng 87091aa19c Add syscall sethostname 2025-09-28 09:35:39 +08:00
Yang Zhichao 66356e133d Add support for `/proc/stat` and `/proc/uptime` 2025-09-27 21:02:23 +08:00
Yang Zhichao a13d2703fb Add context switch counting. 2025-09-27 21:02:23 +08:00
Yang Zhichao b921675426 Complete fork, vfork and clone counting.
This change primarily provides statistical data for the `processes` field in `/proc/stat`.
This field represents the total count of all processes and threads created since system boot,
rather than just processes as the name might imply.
2025-09-27 21:02:23 +08:00
Yang Zhichao a9673282e6 Complete the counting for Softirq and IRQ. 2025-09-27 21:02:23 +08:00
Yang Zhichao 6a662a0d85 Add the `CpuTimeStats` module for CPU time statistics. 2025-09-27 21:02:23 +08:00
Yang Zhichao f869ed508f Move `PerCpuCounter` to `aster-util` to broaden its scope of use,
and add/modify some methods to improve readability.
2025-09-27 21:02:23 +08:00
Yang Zhichao b76f11f7b3 Add an `irq_num` parameter to `bottom_half_handler` for IRQ counting statistics. 2025-09-27 21:02:23 +08:00
Tate, Hongliang Tian 4471b9fc01 Add a new reference for the recommended Rust API style 2025-09-27 20:59:12 +08:00
Chen Chengjun 08e51cc0c8 Fix a problem of using INITRAMFS_SKIP_GZIP=1 2025-09-27 20:53:05 +08:00
Chen Chengjun 2c456709b6 Block a setuid ltp test for exfat test 2025-09-26 16:41:04 +08:00
Tao Su fc114019d6 Recompile bzImage if payload is changed 2025-09-26 15:35:14 +08:00
Chen Chengjun 9a99af1170 Fix some set uid behaviors 2025-09-26 15:14:29 +08:00
Chen Chengjun 728b8d1b5a Bypass some permission checks with DAC_OVERRIDE 2025-09-26 15:14:29 +08:00
Qingsong Chen 30b43ca5be Fix schbench benchmark result extraction pattern 2025-09-26 15:12:22 +08:00
Zejun Zhao 6a42bb3b4a Make syscall restart mechanism work across all architectures 2025-09-26 15:10:34 +08:00
Ruihan Li 4c26a7a7c5 Fix a typo in the PCI bar detection 2025-09-24 15:41:07 +08:00
Ruihan Li 472edcf795 Clean up unnecessary features 2025-09-24 15:41:07 +08:00
Ruihan Li 5a117bc859 Rewrite some error messages 2025-09-24 14:29:16 +08:00
Ruihan Li 89959d07df Fix/clarify problems about mount namespaces 2025-09-24 14:29:16 +08:00
Yuke Peng 48c7c37f50 Bump version to 0.16.1 2025-09-24 13:55:48 +08:00
Wang Siyuan 57d3d9ded1 Fix some `mprotect` issues 2025-09-24 11:14:13 +08:00