Chen Chengjun
9985d64535
Complete some remaining rename tasks
2025-08-12 15:20:17 +08:00
jiangjianfeng
9a56028afc
Support parsing shebang with multiple arguments in intepreter line
2025-08-12 11:23:30 +08:00
Ruihan Li
cdd28787ed
Replace `write_vals` by `fill_zeros` in `VmIo`
2025-08-10 16:40:11 +08:00
Ruihan Li
2700d88bef
Provide efficient `VmIo` with VM readers/writers
2025-08-10 16:40:11 +08:00
Ruihan Li
aa7aca3dde
Add `VmWriter::fill_zeros`
2025-08-10 16:40:11 +08:00
Tate, Hongliang Tian
f2ead0b3ed
Remove O_TMPFILE flag because it is not really supported
2025-08-09 16:26:50 +08:00
jiangjianfeng
f6478d62cc
Refactor the implementation about sigstack
2025-08-08 12:06:26 +08:00
Ruihan Li
c19c7765d8
Fix race conditions in `pause_timeout`
2025-08-06 17:17:34 +08:00
Ruihan Li
20893be80e
Allow to receive empty SEQPACKET packets
2025-08-06 17:17:34 +08:00
Chen Chengjun
c6a6e66aac
Rename Dentry to Path in the other modules and rename some local variables
2025-08-06 14:06:39 +08:00
Chen Chengjun
6aa516e2bf
Move Path to mod.rs of the path module
2025-08-06 14:06:39 +08:00
Chen Chengjun
34dac93175
Rename Dentry and Dentry_ in the path module
2025-08-06 14:06:39 +08:00
jiangjianfeng
de97644b4c
Move `ThreadFsInfo` from `PosixThread` to `ThreadLocal`
2025-08-06 13:38:42 +08:00
Zhang Junyang
afe63e7123
Fix ELF loading when shebang/loader path is too long/far
2025-08-05 15:42:13 +08:00
Wang Siyuan
3ebb5a25b2
Refactor task schedulers to conform with the new semantics
2025-08-05 13:37:01 +08:00
Wang Siyuan
48fa40bbf2
Support the system call `memfd_create`
2025-07-31 09:29:12 +08:00
Wang Siyuan
59ceb6d27c
Add a method `inode` for `FileLike`
2025-07-31 09:29:12 +08:00
Tate, Hongliang Tian
659f079c2d
Revise the doc of OSTD's scheduling module
2025-07-29 21:58:23 +08:00
Wei Zhang
8a801676ab
Disallow masking SIGKILL and SIGSTOP in user space
...
According to the Linux man pages[1], "It is not possible to block SIGKILL
or SIGSTOP. Attempts to do so are silently ignored." This patch ensures
compliance by explicitly removing SIGKILL and SIGSTOP from the signal
mask in the `MaskOp::SetMask` operation of the `rt_sigprocmask` syscall.
[1]: https://www.man7.org/linux/man-pages/man2/sigprocmask.2.html
2025-07-28 17:08:10 +08:00
Yuke Peng
2154124dc4
Format the user exception log
2025-07-28 15:01:49 +08:00
Ruihan Li
e52634cb78
Add some references for signal-related types
2025-07-28 10:50:38 +08:00
Ruihan Li
83b0564c99
Remove TLS-related stuffs from `LinuxABI`
2025-07-28 10:50:38 +08:00
jiangjianfeng
28d5d94c8c
Support setting reuseaddr for UDP socket
2025-07-28 10:20:50 +08:00
jiangjianfeng
ff39f6df75
Correct the reuseaddr behavior
2025-07-28 10:20:50 +08:00
王英泰
345cc9d055
Save FPU context on signal stack for LoongArch
2025-07-25 17:37:24 +08:00
王英泰
5c4b3fdd19
Finish the arch section for LoongArch in kernel
2025-07-25 17:37:24 +08:00
王英泰
4562361ef0
Add the random support for LoongArch in kernel
2025-07-25 17:37:24 +08:00
王英泰
5ca18b31ad
Add the syscall support for LoongArch in kernel
2025-07-25 17:37:24 +08:00
王英泰
5c590f0c6b
Add the process support for LoongArch in kernel
2025-07-25 17:37:24 +08:00
王英泰
3824af8c89
Add the trap section for LoongArch in OSTD
2025-07-25 17:37:24 +08:00
王英泰
91e7785915
Add the cpu section of LoongArch in OSTD and kernel
2025-07-25 17:37:24 +08:00
jiangjianfeng
9219207b97
Add CLONE_PIDFD & pidfd_open support
2025-07-24 21:11:24 +08:00
jiangjianfeng
dbc6e7c71a
Add support for `/proc/sys/kernel/pid_max`
2025-07-24 21:11:24 +08:00
Ruihan Li
5ccadb6253
Support SOCK_SEQPACKET
2025-07-23 20:02:15 +08:00
Ruihan Li
c3572e9548
Support SCM_CREDENTIALS
2025-07-23 20:02:15 +08:00
Ruihan Li
ab897ccd2f
Support SO_PASSCRED
...
Co-authored-by: Jianfeng Jiang <jiangjianfeng.jjf@antgroup.com>
2025-07-23 20:02:15 +08:00
Qingsong Chen
e86f7584a3
Fix atomic mode issue when VMO commit needs IO
2025-07-23 11:23:03 +08:00
Qingsong Chen
eb64ca1cea
Fix VMO commit address when needs IO
2025-07-23 11:23:03 +08:00
Cautreoxit
6ecccad3ee
Add sys_ioprio_set and sys_ioprio_get
2025-07-22 17:22:52 +08:00
Chen Chengjun
ef0382b164
Enhance waitid syscall support
2025-07-21 21:31:32 +08:00
Chen Chengjun
4d52241c6c
Fix some definition errors of siginfo_t
2025-07-21 21:31:32 +08:00
Cautreoxit
c6011b9650
Add fadvise64 syscall
2025-07-21 21:29:17 +08:00
Yang Zhichao
9570f14d80
Add AMD support for cache_size and tlb_size
2025-07-21 20:08:42 +08:00
Yang Zhichao
d09c6c7584
Add a fallback to RDTSC estimation when TSC info is unavailable
2025-07-21 20:08:42 +08:00
Yang Zhichao
496c50f296
Fix get_cpuid_level function to directly return the CPUID 0x0 EAX value instead of TSC denominator
2025-07-21 20:08:42 +08:00
Yang Zhichao
85e605250b
Fix cache line size calculation in get_clflush_size function
2025-07-21 20:08:42 +08:00
Marsman1996
62d426d9b7
Add check for empty directory and more forms of root directory in `rmdir`
2025-07-21 11:33:14 +08:00
Ruihan Li
4d8078166e
Send and receive UNIX control messages
2025-07-21 10:46:08 +08:00
Qingsong Chen
f1299d4b8d
Save FPU context on signal stack
2025-07-18 11:40:16 +08:00
Qingsong Chen
6cd53fbb8a
Refactor FPU context using pre_schedule_handler
2025-07-18 11:40:16 +08:00
Chen Chengjun
749fe77591
Add an initial script to mount several file systems
2025-07-17 13:51:45 +08:00
Chen Chengjun
df69af324e
Forbid creating a directory in sysfs
2025-07-17 13:51:45 +08:00
Chen Chengjun
16292742d2
Leverage FsRegistry to remove the hardcode in mount syscall
2025-07-17 13:51:45 +08:00
Chen Chengjun
9783bbddda
Implement FsType for exsiting file systems
2025-07-17 13:51:45 +08:00
Chen Chengjun
cb1732706a
Introduce FsType and FsRegistry
2025-07-17 13:51:45 +08:00
Ruihan Li
cdd7950d2e
Remove some variants in `ostd::Error`
2025-07-15 23:05:30 +08:00
Chen Chengjun
d02202dc73
Support the basic cgroupfs
2025-07-14 20:35:05 +08:00
Chen Chengjun
19a3f5576d
Introduce the FsManager
2025-07-14 20:35:05 +08:00
Chen Chengjun
b90b79810c
Provide more powerful macros to assist in implementing the SysTree-related traits
2025-07-14 20:35:05 +08:00
Chen Chengjun
a8b4c23319
Add SysTreeInodeTy trait to abstract the view part of MVC arch
2025-07-14 20:35:05 +08:00
Chen Chengjun
774291611c
Add two error types in aster_systree::Error
2025-07-14 20:35:05 +08:00
Chen Chengjun
9c68d96fa2
Attach SysPerms to systree nodes and attributes
2025-07-14 20:35:05 +08:00
Chen Chengjun
e229eb379b
Enable getting path through SysObj
2025-07-14 20:35:05 +08:00
Ruihan Li
a5e927b675
Make the framebuffer backspace work
2025-07-14 20:24:29 +08:00
Ruihan Li
b1079c2bc5
Add support for font setting
2025-07-14 20:24:29 +08:00
jiangjianfeng
d317ce3246
Adjust `max_len` to avoid EFAULT when reading CString
2025-07-14 15:43:34 +08:00
jiangjianfeng
010da31b3e
Align execve argument limits with Linux
2025-07-14 15:43:34 +08:00
yuankunzhang
a4c918efd7
fs: validate workdir when creating overlayfs instance
...
The workdir needs to be an empty directory on the same filesystem
as upperdir.
2025-07-11 09:26:31 +08:00
jiangjianfeng
665de6bd35
Make RISC-V code compile under new exception APIs
2025-07-09 10:49:43 +08:00
jiangjianfeng
7f3ca86467
Refactor x86 exception related code
2025-07-09 10:49:43 +08:00
Chen Chengjun
2a34a041c4
Fix the mask set in the signalfd
2025-07-08 15:50:41 +08:00
js2xxx
1a12080c58
Fix integer overflow when updating vruntime after pending weight update
2025-07-05 18:23:17 +08:00
Ruihan Li
0fce977b40
Clean up `trapframe` items
2025-07-05 18:19:26 +08:00
Wang Siyuan
37cc54f2aa
Store `offset` in `MappedVmo` instead of `range`
2025-07-03 18:54:53 +08:00
Ruihan Li
abbf152d74
Re-enable framebuffer
2025-07-03 17:47:56 +08:00
Ruihan Li
d73cbb5008
Clarify the `DeviceId` encoding
2025-07-03 14:30:14 +08:00
Wang Siyuan
a13297ae4c
Add fields in `/proc/*/stat` and `/proc/*/status`
2025-07-02 20:13:47 +08:00
Wei Zhang
513532fe95
Correctly handle partial writes and reads in writev and readv
...
When using writev or readv, if data is partially written or read, the
written or read bytes number should be returned instead of error.
2025-07-02 17:14:10 +08:00
Chen Chengjun
fe24c2d8ae
Ensure proper handling of out-of-bounds VMO access during page fault processing
2025-07-02 16:08:00 +08:00
js2xxx
4571fabc7a
Fix integer overflow due to fair weight change
2025-07-02 11:00:34 +08:00
Ruihan Li
6146434f15
Unify the styles of the `arch` modules
2025-06-30 15:43:41 +08:00
Ruihan Li
3f1bf99b2a
Make `mremap` behavior consistent with Linux
2025-06-26 11:41:56 +08:00
Ruihan Li
079be2f30f
Enable syscall tests for UNIX sockets
2025-06-26 11:11:03 +08:00
Ruihan Li
bef9304c85
Fix minor problems of UNIX sockets
2025-06-26 11:11:03 +08:00
Wang Siyuan
810580bda5
Fix underflow when merging VMAs
2025-06-26 11:10:38 +08:00
jiangjianfeng
e4c5c36be9
Support SO_PEERCRED & SO_PEERGROUPS
2025-06-24 17:25:44 +08:00
jiangjianfeng
d7e88f93bd
Support SO_ACCEPTCONN
2025-06-24 17:25:44 +08:00
jiangjianfeng
ec8beab540
Support SO_PRIORITY
2025-06-24 17:25:44 +08:00
jiangjianfeng
8f6bc07b23
Support SO_SNDBUFFORCE & SO_RCVBUFFORCE
2025-06-24 17:25:44 +08:00
Ruihan Li
b891d7d215
Introduce `Endpoint` and `EndpointState`
2025-06-24 15:41:53 +08:00
Wang Siyuan
a0cbe7551a
Fix some user space address check
2025-06-24 12:15:24 +08:00
Wang Siyuan
f442cc6d81
Automatically merge adjacent and compatible `VmMapping`s
2025-06-24 12:15:24 +08:00
js2xxx
c5d57d5216
Fix mapping between `sched_attr` and `SchedPolicy`
2025-06-24 10:31:32 +08:00
Zhang Junyang
93015a6090
Make user program relocation code readable
2025-06-24 10:15:09 +08:00
Ruihan Li
35e0918bce
Don't race between enabling IRQs and halting CPU
2025-06-23 22:53:35 +08:00
Ruihan Li
b96c8f9ed2
Make `ostd::trap::irq` public
2025-06-23 22:53:35 +08:00
Ruihan Li
751e0b2ebf
Don't jump to the end of the cursor range
2025-06-23 10:54:30 +08:00
Ruihan Li
1c423d6b6d
Unwrap some unreachable errors
2025-06-23 10:54:30 +08:00
Marsman1996
826f56aeed
Check file_table in PID directory before access
2025-06-22 17:58:33 +08:00
Marsman1996
1c56fbc871
Fix unwrap panic of dropped VMAR in PID status
2025-06-22 17:58:33 +08:00
Wang Siyuan
11f9675f37
Support the system call `mremap`
2025-06-21 16:18:09 +08:00
Wang Siyuan
33345f184a
Count RSS when dropping `RssDelta`
2025-06-21 16:18:09 +08:00
Marsman1996
bb3f21b41e
Fix integer overflow in futex wake
2025-06-20 15:58:19 +08:00
jiangjianfeng
95faea0fb0
Support WSTOPPED and WCONTINUED
2025-06-20 11:51:44 +08:00
Ruihan Li
bcf1e69878
Expose `head`/`tail` of `RingBuffer`
2025-06-19 16:30:02 +08:00
Marsman1996
2f097ab8f8
Check file_table before use
2025-06-18 17:28:28 +08:00
Ruihan Li
4a9977d9a7
Make zero reads/writes' behavior right
2025-06-17 16:09:33 +08:00
Ruihan Li
837f908690
Fix some pollee mistakes
2025-06-17 16:06:48 +08:00
Marsman1996
5a514f6163
Check `VSOCK_GLOBAL` when creating `VsockStreamSocket`
2025-06-16 14:43:17 +08:00
Qingsong Chen
ef7fdc6647
Fix improper handling of O_TRUNC for non-regular files
2025-06-16 12:10:58 +08:00
Chen Chengjun
627dd0386b
Enable FUTEX_WAKE_OP
2025-06-16 11:02:17 +08:00
Chen Chengjun
860bb6c07f
Adjust and correct parts of the futex implementation code
2025-06-16 11:02:17 +08:00
Zhang Junyang
45059bad21
Create a new PT rather than clearing it upon `exec*`
2025-06-16 10:18:19 +08:00
Zhang Junyang
525085ab86
Implement system call `msync`
2025-06-15 16:25:37 +08:00
Ruihan Li
796635486c
Handle broken netlink attributes
2025-06-13 11:27:22 +08:00
Ruihan Li
deab9b6f72
Truncate netlink messages
2025-06-13 11:27:22 +08:00
Ruihan Li
0e8106abfa
Restrict visibility for TCP internals
2025-06-13 11:07:11 +08:00
Ruihan Li
639bc91e31
Clean up public re-exports under `net/`
2025-06-13 11:07:11 +08:00
Zhang Junyang
86a7aa09eb
Improve exception handling panic message
2025-06-13 10:35:47 +08:00
Wang Siyuan
b605bed576
Fix some typos
2025-06-12 22:35:54 +08:00
Zhang Junyang
e78927b449
Manage frame tracking outside the page table
2025-06-12 22:34:46 +08:00
Zhang Junyang
22ccfb1f2b
Move COW out of OSTD
2025-06-12 22:34:46 +08:00
Ruihan Li
0661a0656b
Never queue an ignored signal
2025-06-12 16:15:53 +08:00
Cautreoxit
3e32a38316
Add sys_close_range
2025-06-11 19:56:12 +08:00
Ruihan Li
71e08b3942
Clean up TTY termios definitions
2025-06-10 14:30:02 +08:00
Marsman1996
8583eea62b
Fix unreachable error in sys_timer_settime
2025-06-10 11:22:50 +08:00
Marsman1996
9109741e8b
Add TFDSetTimeFlags and fix reachable panic
2025-06-10 11:22:50 +08:00
Cautreoxit
0b471ef370
Add sys_epoll_pwait2
2025-06-09 20:20:40 +08:00
jiangjianfeng
597139a7f7
Fix a clippy error
2025-06-09 17:22:14 +08:00
Cautreoxit
e9f35f6ab8
Debug for try_from impl for Duration
2025-06-09 14:51:05 +08:00
Ruihan Li
fe6b78058c
Correct the blocking behavior
2025-06-09 13:10:34 +08:00
Ruihan Li
67065835ef
Redefine the TTY driver interface
2025-06-09 13:10:34 +08:00
Ruihan Li
5a9a63e1a7
Use one lock for `LineDiscipline`
2025-06-09 13:10:34 +08:00
Ruihan Li
45258d0475
Unpack `LineDiscipline` from `Arc`
2025-06-09 13:10:34 +08:00
Ruihan Li
9e2dde5ebb
Add `enqueue_signal_async`
2025-06-09 13:10:34 +08:00
Chen Chengjun
c56aee92f4
Re-organize some systree-related code
2025-06-09 11:13:48 +08:00
Chen Chengjun
1dd1c8c775
Enable read and write operations of the attribute to handle offset
2025-06-09 11:13:48 +08:00
Chen Chengjun
3b1248ba7c
Fix some potential bugs of sysfs
2025-06-09 11:13:48 +08:00
Marsman1996
01328ee404
Fix panic when mount with invalid file system type
2025-06-06 18:26:24 +08:00
jiangjianfeng
f0957d2f54
Fix clippy warnings in kernel crate
2025-06-06 18:22:09 +08:00
Cautreoxit
2e3de6218f
Add more features for statx syscall
2025-06-06 15:07:20 +08:00
jiangjianfeng
f946f09ee4
Implement netlink uevent socket
2025-06-06 11:33:09 +08:00
Wang Siyuan
58e4f45bb1
Add per-CPU counters and track RSS for each `Vmar`
2025-06-03 23:24:32 +08:00
Zejun Zhao
3790f616fd
Rename `PageProperty::new` to `PageProperty::new_user`
2025-06-03 18:42:53 +08:00
Ruihan Li
63daf69e17
Fix incorrect types in `sys_getcpu`
2025-05-29 10:33:02 +08:00
Ruihan Li
56e9824dd1
Make `current_cpu_racy` a method of `CpuId`
2025-05-29 10:33:02 +08:00
Zhang Junyang
79b3f68892
Make the RCU lifetime of page tables explicit
2025-05-24 17:42:17 +08:00
Zhang Junyang
54fbdcf059
Implement the stray marking in PT to ensure serializability
2025-05-24 17:42:17 +08:00
Zhang Junyang
5b7637eac3
Remove the activation lock and use RCU to protect PT removal
2025-05-24 17:42:17 +08:00
Qingsong Chen
189daa2e09
Fix the return value of `read_link` for ext2
2025-05-23 10:17:08 +08:00