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
Zhang Junyang
85ca6b8934
Use `Vmar::access_remote` to fill zeros upon ELF loading
2025-12-08 12:52:37 +08:00
Ruihan Li
6ac45fe406
Add methods to allow overlapping I/O ports
2025-12-08 11:12:05 +08:00
Ruihan Li
05886011f8
Follow ACPI to reset a real machine
2025-12-08 11:12:05 +08:00
Ruihan Li
35d70fca71
Manage poweroff and restart handlers
2025-12-08 11:12:05 +08:00
Ruihan Li
bd67ea489e
Simplify code and resolve lints
2025-12-08 11:12:05 +08:00
Cautreoxit
4f71f4bbe6
Add some ioctls for evdev
2025-12-07 17:30:04 +08:00
Ruihan Li
a176e4c3c6
Add ioctl enum support
2025-12-07 12:01:05 +08:00
Ruihan Li
4e76ed5fea
Migrate to new ioctl infrastructure
2025-12-07 12:01:05 +08:00
Ruihan Li
99fefb7adf
Implement 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
Ruihan Li
9d5e889a93
Implement `VmIo` for `CurrentUserspace`
2025-12-07 12:01:05 +08:00
Ruihan Li
13afca6441
Add `i8042.exist` to override ACPI flags
2025-12-07 09:52:42 +08:00
Ruihan Li
04a2290812
Fix format issues like "initproc" and others
2025-12-07 09:52:42 +08:00
wheatfox
34b12b2de5
Add `/proc/version` support
...
Signed-off-by: wheatfox <wheatfox17@icloud.com>
2025-12-05 19:29:54 +08:00
vvsv
8152695a17
Support syscall fchmodat2
2025-12-05 18:01:37 +08:00
vvsv
0dd061269e
execve should return ENOEXEC for scripts without shebang
2025-12-05 18:00:45 +08:00
vvsv
77fb8c0f74
Support syscall `syncfs`
2025-12-05 18:00:24 +08:00
jiangjianfeng
a0042f7d28
Add syscall sendmmsg
2025-12-05 17:18:15 +08:00
Chen Chengjun
314021c391
Correct the calculation of log_*_size
2025-12-05 15:26:32 +08:00
Chen Chengjun
ad44264fc5
Correct the declaration of FsState
2025-12-05 15:26:32 +08:00
Chen Chengjun
3719caf5f1
Make the Superblock retain all the information from the RawSuperBlock
2025-12-05 15:26:32 +08:00
jiangjianfeng
9ad7c1855e
Check device id in DeviceId::from_encoded_64
2025-12-04 20:55:01 +08:00
jiangjianfeng
83c158e3b5
Make device Inode behave like pointer
2025-12-04 20:55:01 +08:00
jiangjianfeng
d8a4b3076f
Support looking up block devices
2025-12-04 20:55:01 +08:00
jiangjianfeng
e4a09f5503
Remove unused Misc device type
2025-12-04 20:55:01 +08:00
jiangjianfeng
c4fdd390a9
Make ext2 handle fifo and devices correctly
2025-12-04 20:55:01 +08:00
Hsy-Intel
2c9a11e43e
Reduce #VE, disable SEPT #VE and enable notification for zero step attack detection in TDX environment
2025-12-04 09:48:17 +08:00
Ruihan Li
2168b32d88
Rustfmt socket option macros
2025-12-03 14:12:31 +08:00
Chen Chengjun
34ebccb2e9
Fix a bug of bind mount
2025-12-03 14:04:45 +08:00
Chen Chengjun
d58ae3a782
Implement controller framework for cgroup subsystem
2025-12-03 11:24:36 +08:00
Chen Chengjun
dda8161bef
Adjust the attributes-related APIs of SysNode
2025-12-03 11:24:36 +08:00
Zhenchen Wang
eec3dd0f34
Add inotify regression tests and gVisor tests
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Zhenchen Wang
156eeb1835
Add the fsnotify hook function to the VFS layer
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Zhenchen Wang
09665a7692
Implement inotify file and syscalls
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Zhenchen Wang
6eef70a634
Add fsnotify infrastructure for filesystem events
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Chen Chengjun
1a536d31b0
Fix a bug of caching negative dentry
2025-12-01 18:10:10 +08:00
Ruihan Li
cf772b804e
Fix option behavior in UNIX/netlink sockets
2025-12-01 13:46:02 +08:00
Ruihan Li
f522bd72b2
Enable only one i8042 port at initialization
2025-12-01 10:22:14 +08:00
Ruihan Li
3258a264de
Abstract common PS/2 logics
2025-12-01 10:22:14 +08:00
Ruihan Li
3ddbef06e4
Set timeout for i8042 transactions
2025-12-01 10:22:14 +08:00
Ruihan Li
0b664a012e
Group modules into `device/registry`
2025-12-01 00:05:29 +08:00
Ruihan Li
be01eef352
Revise error messages in `char.rs`
2025-12-01 00:05:29 +08:00
Ruihan Li
34a9f84c5a
Remove `Char{File,Device}` & `DevtmpfsName`
2025-12-01 00:05:29 +08:00
Ruihan Li
dc21266510
Remove `OpenCharFile`
2025-12-01 00:05:29 +08:00
Chen Chengjun
2021160e97
Introduce IdBitmap to fix the syncing metadata bug of Ext2
2025-11-30 23:58:58 +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
Chen Chengjun
1b11a8453e
Store system console names in KCmdlineArg
2025-11-28 18:18:28 +08:00