asterinas/kernel/src/process
Arthur Paulino 888eecb350 Patch a futex vulnerability
If the futex wait operation was interrupted by a signal or timed out, the
`FutexItem` must be dequeued and dropped. Otherwise, malicious user programs
could repeatedly issue futex wait operations to exhaust kernel memory.

Due to asynchronicity, this removal can't be done by queue position nor by
futex key match up:
* The position might have changed during the pause as some earlier futex might
  have been dequeued
* If two futexes with the same key are enqueued and then one of them times out
  or is interrupted, a removal by key would likely dequeue the wrong futex

Therefore, we need to perform a removal by unique global futex ID.
2025-08-26 18:04:34 +08:00
..
credentials Support SCM_CREDENTIALS 2025-07-23 20:02:15 +08:00
posix_thread Patch a futex vulnerability 2025-08-26 18:04:34 +08:00
process Mark all kernel modules as private 2025-08-26 18:02:56 +08:00
process_vm Provide efficient `VmIo` with VM readers/writers 2025-08-10 16:40:11 +08:00
program_loader Correct vDSO data segment's permission 2025-08-23 12:38:22 +08:00
signal Mark all kernel modules as private 2025-08-26 18:02:56 +08:00
sync Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
clone.rs Remove `user_ctx` from `Task` 2025-08-12 19:19:34 +08:00
exit.rs Add CLONE_PIDFD & pidfd_open support 2025-07-24 21:11:24 +08:00
kill.rs Never queue an ignored signal 2025-06-12 16:15:53 +08:00
mod.rs Optimize the initialization logic during Asterinas init phase 2025-08-26 14:36:59 +08:00
pid_file.rs Add CLONE_PIDFD & pidfd_open support 2025-07-24 21:11:24 +08:00
process_filter.rs Add CLONE_PIDFD & pidfd_open support 2025-07-24 21:11:24 +08:00
process_table.rs Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
rlimit.rs Move functions related to spawning the init process to a seperate module 2025-05-09 13:19:57 +08:00
status.rs Support WSTOPPED and WCONTINUED 2025-06-20 11:51:44 +08:00
task_set.rs Rewrite `exit()` and `exit_group()` 2024-12-17 19:36:38 +08:00
term_status.rs
wait.rs Add CLONE_PIDFD & pidfd_open support 2025-07-24 21:11:24 +08:00