Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for System V shared memory, implements Linux-style scheduling syscalls (such as affinity and priority settings), improves ext4 filesystem performance via read and lookup caching, and expands signal handling to support real-time signals. The review feedback highlights several critical issues, including a lack of user-space address validation in shmat, potential memory leaks during shared memory remapping, thread leaks in signal termination, unremoved timers in select, unbounded growth in the directory lookup cache, an edge-case bug in priority task selection when priority is i32::MIN, and uninitialized memory exposure in sched_getaffinity.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
PR: ccy-dev02 -> main
Summary
This PR brings the current development branch back into
main, focusing on LoongArch runtime stability, libc/LTP compatibility, filesystem robustness, and several syscall/runtime fixes needed by the test environment.The branch is large, so this description only calls out the major areas instead of enumerating every small bug fix.
Major Changes
LoongArch Runtime Stability
rt_sigreturnso the saved user PC is restored instead of falling through the signal trampoline.Syscall and Libc Compatibility
clock_nanosleepand improves time-related syscall behavior.clone, futex, terminal ioctl, select timeout/fdset, and process exit semantics.IPC and Shared Memory
/dev/shmsupport for POSIX shared memory expectations.Filesystem and VFS Robustness
Test and Runtime Environment
Validation
cargo fmt --checkCARGO_TARGET_DIR=/tmp/ccyos-cargo-check cargo check --target loongarch64-unknown-noneCARGO_TARGET_DIR=/tmp/ccyos-cargo-run cargo build --target loongarch64-unknown-none/proc,/sys,/tmp,/devmounting and enter test staging without the previous user-mode signal trampoline panic.Notes
USER_SIGRETURN_TRAMPOLINE + 8by restoringerathroughMContextT.