1fe0a138f9
PROT_WRITE
implies PROT_READ
on x86
2024-10-17 08:56:47 +08:00
9e4257b655
Fix multiple issues pointed out by the new compiler
2024-10-13 22:32:05 +08:00
bdf89a5de3
Implement getcwd()
2024-10-12 09:58:45 +08:00
ea489252f4
Refactor Dentry
to optimize the vfs layer
2024-10-11 11:22:52 +08:00
44760eb5fa
Return when sigset size error for rt_sigsuspend, rt_sigprocmask and rt_sigaction
2024-09-30 20:24:23 +08:00
4fa0e6334b
Add RISC-V base support
2024-09-30 10:02:08 +08:00
8927031426
Remove priority field from OSTD Task struct
2024-09-27 10:21:45 +08:00
0a36760f7a
Respect user-defined exit signal in clone() and clone3()
...
When calling clone() and clone3(), the user is allowed to specify a
signal to be sent to the parent process on exit. Respect this value by
storing it in the Process struct and sending the signal on exit.
Add a test as well to verify that the signal is properly delivered to
the parent.
2024-09-26 20:07:43 +08:00
130a0f7030
Homogenize arguments for clone() and clone3()
...
The arguments for both syscalls follow different formats. Rewrite the
CloneArgs struct to homogenize both formats into one.
2024-09-26 20:07:43 +08:00
fb718fd440
Optimize the latency of lat-sig-install
2024-09-25 17:29:20 +08:00
21fedd1b60
Implement atomic wrapper for integer-like type
2024-09-25 14:47:37 +08:00
cbe85a1878
Add check for negative timeval_t.sec
in do_futimesat
2024-09-24 20:36:29 +08:00
46708f84bc
Implement futex private flag
2024-09-22 16:00:56 +08:00
985813c7f9
Use IoVec-based reader/writer to refactor network APIs
2024-09-20 10:37:20 +08:00
b4003b8aeb
Add normalize for timeval_t
and const value for time
2024-09-20 10:35:03 +08:00
4fa4e5ef2a
Add check during the conversion from timeval_t
to Duration
2024-09-20 10:35:03 +08:00
70505ff4f8
Support futex wait timeout
2024-09-19 22:42:13 +08:00
c2f7a10b84
Implement cpu_local with GS and ensure GS points to TSS
2024-09-19 13:00:36 +08:00
f3174dbbbc
Make task store Arc<Thread> and process store Arc<Task>
2024-09-14 17:34:14 +08:00
81b0f265b5
Move Tid from Thread to PosixThread
2024-09-14 17:34:14 +08:00
42e28763c5
Replace the Pausers' usage with Waiter/WaitQueue
2024-09-14 13:59:07 +08:00
fc895c5697
Fix panic in mmap
by invalid perms
2024-09-13 23:42:37 +08:00
8421046dba
Return when sigset size error
2024-09-13 22:12:50 +08:00
1186fb7ca9
Use SpinLock
on FileTable
for efficiency
2024-09-13 19:48:26 +08:00
787604b7f6
Use ParentProcess to cache parent pid
2024-09-12 17:41:56 +08:00
c68302f700
Don't hold any locks while waiting in EpollFile
2024-09-07 06:47:12 +08:00
6ce50fab1c
Refactor semaphore to support atomic semop
2024-09-02 17:12:04 +08:00
745ac6d982
Set overflow boundary to isize::MAX
for memory related syscalls
2024-09-01 15:40:46 +08:00
9589b332aa
Add more overflow checks in mmap
2024-09-01 15:40:46 +08:00
e184094648
Fix integer overflow caused by page align
2024-09-01 15:40:46 +08:00
0a8ad6971a
Fix integer overflow caused by large addr + size in memory related syscall
2024-09-01 15:40:46 +08:00
b17e3e24d8
[Semaphore] Avoid using CurrentUserSpace::get
2024-08-30 22:52:24 +08:00
a72c7dadf3
Optimize the latency of lmbench-signal-prot
2024-08-28 14:27:41 +08:00
ffc717f00b
Enable handling page fault around
2024-08-28 11:04:03 +08:00
a5e6c11d1a
Correct FcntlCmd
2024-08-27 22:14:40 +08:00
86f09eef75
Fix all spelling mistakes in history by typos tool
2024-08-27 12:19:48 +08:00
aa77747f94
Make mprotect&munmap return fast when len is zero
2024-08-26 12:06:31 +08:00
212440dbb1
Fix: mmap len cannot be zero
2024-08-26 12:06:31 +08:00
547e6430ee
Pass the reference of sem_buf to semop
2024-08-25 20:13:05 +08:00
83a4366a72
Remove check_sem in semop
2024-08-25 20:13:05 +08:00
4b1f2f720e
Avoid using current
in semop
2024-08-25 20:13:05 +08:00
dafd16075f
Remove the shim kernel crate
2024-08-23 23:37:50 +08:00