starry-kernel 0.5.13

A Linux-compatible OS kernel built on ArceOS unikernel
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.5.13]https://github.com/rcore-os/tgoskits/compare/starry-kernel-v0.5.12...starry-kernel-v0.5.13 - 2026-06-03

### Added

- *(starry-kernel)* port LKM loader + cargo xtask starry kmod build ([#851]https://github.com/rcore-os/tgoskits/pull/851)
- *(starryos)* expose K230 KPU device ([#1054]https://github.com/rcore-os/tgoskits/pull/1054)
- *(starry-kernel)* implement child subreaper ([#1050]https://github.com/rcore-os/tgoskits/pull/1050)
- *(starry-kernel)* support waitid P_PGID ([#1032]https://github.com/rcore-os/tgoskits/pull/1032)
- *(starry-kernel)* implement xattr store ([#1040]https://github.com/rcore-os/tgoskits/pull/1040)
- *(irq)* introduce shared IRQ framework ([#1065]https://github.com/rcore-os/tgoskits/pull/1065)
- *(mm)* add page reclaim for file-backed memory pressure (rebased) ([#1007]https://github.com/rcore-os/tgoskits/pull/1007)
- *(drm)* per-buffer dumb allocation with GEM-refcounted mmap pages ([#514]https://github.com/rcore-os/tgoskits/pull/514)
- *(starry-kernel)* port eBPF runtime (ebpf/, perf/, kprobe wiring) ([#850]https://github.com/rcore-os/tgoskits/pull/850)
- *(Starry)* support MariaDB ([#906]https://github.com/rcore-os/tgoskits/pull/906)
- *(starry-kernel)* support cgroup2 hierarchy mkdir and rmdir ([#1015]https://github.com/rcore-os/tgoskits/pull/1015)
- *(axtask)* replace PREV_TASK Weak<AxTask> with raw pointer ([#996]https://github.com/rcore-os/tgoskits/pull/996)
- *(starry-kernel)* add initial cgroup2 support ([#989]https://github.com/rcore-os/tgoskits/pull/989)
- *(starry-kernel)* add initial GDB ptrace support ([#931]https://github.com/rcore-os/tgoskits/pull/931)
- *(riscv64)* support dynamic platform on QEMU and SG2002 ([#961]https://github.com/rcore-os/tgoskits/pull/961)
- *(starry-kernel)* add LKM support via kmod-loader integration ([#849]https://github.com/rcore-os/tgoskits/pull/849)
- *(starry-kernel)* add eBPF subsystem (maps, VM, helpers, perf events) ([#848]https://github.com/rcore-os/tgoskits/pull/848)
- *(starry-kernel)* add kprobe support ([#847]https://github.com/rcore-os/tgoskits/pull/847)
- *(starry-task)* implement sys_getcpu ([#924]https://github.com/rcore-os/tgoskits/pull/924)
- *(starry-kernel)* add inotifywait support ([#894]https://github.com/rcore-os/tgoskits/pull/894)
- *(starry)* add userspace test for prlimit64 syscall ([#801]https://github.com/rcore-os/tgoskits/pull/801)
- *(axnet-ng)* implement SO_TYPE, SO_PROTOCOL, SO_DOMAIN socket options ([#884]https://github.com/rcore-os/tgoskits/pull/884)
- *(starry-kernel)* implement xattr syscall stubs for rsext4 ([#882]https://github.com/rcore-os/tgoskits/pull/882)
- *(starry-kernel)* add /proc/self/statm and /proc/loadavg, add procps test ([#853]https://github.com/rcore-os/tgoskits/pull/853)
- *(starry)* expose dumpable in procfs status and complete uid/gid tests ([#757]https://github.com/rcore-os/tgoskits/pull/757)
- *(axtask)* add task stack guard page support ([#811]https://github.com/rcore-os/tgoskits/pull/811)
- *(starryos)* add OpenSSH app test and implement PR_SET_NO_NEW_PRIVS ([#810]https://github.com/rcore-os/tgoskits/pull/810)
- *(starry-kernel)* implement waitid syscall ([#781]https://github.com/rcore-os/tgoskits/pull/781)

### Fixed

- *(starry-kernel)* avoid patching cratesio ax-errno ([#1081]https://github.com/rcore-os/tgoskits/pull/1081)
- *(kernel)* fix riscv64 static-pie segfault in ELF loader ([#1033]https://github.com/rcore-os/tgoskits/pull/1033)
- *(repo)* normalize allocator and RISC-V dependencies ([#1021]https://github.com/rcore-os/tgoskits/pull/1021)
- *(starry-kernel)* validate sync_file_range flags and offsets ([#823]https://github.com/rcore-os/tgoskits/pull/823)
- *(starry-net)* SIOCGIFINDEX + non-zero SIOCGIFCONF sizing for OpenJDK NetworkInterface ([#923]https://github.com/rcore-os/tgoskits/pull/923)
- *(loongarch64)* make userspace LSX usable (preserve FP/LSX state + fix uc_mcontext offset + advertise AT_HWCAP) ([#917]https://github.com/rcore-os/tgoskits/pull/917)
- *(axbuild)* skip disabled grouped C subcases ([#942]https://github.com/rcore-os/tgoskits/pull/942)
- *(starry-kernel,x86-qemu-q35)* probe terminal size, deliver SIGWINCH, batch ONLCR writes ([#913]https://github.com/rcore-os/tgoskits/pull/913)
- *(starry-task)* suspend on SIGSTOP instead of killing (job control) ([#925]https://github.com/rcore-os/tgoskits/pull/925)
- *(starry-mm)* fix use-after-free when evicting a page-cache page shared across split file mappings ([#920]https://github.com/rcore-os/tgoskits/pull/920)
- *(starry)* align mount and umount2 semantics with Linux ([#876]https://github.com/rcore-os/tgoskits/pull/876)
- *(starry)* repair SG2002 CI build ([#929]https://github.com/rcore-os/tgoskits/pull/929)
- *(starry-kernel)* add Threads: line to /proc/[pid]/status and implement /proc/[pid]/statm ([#915]https://github.com/rcore-os/tgoskits/pull/915)
- *(starry-kernel)* copy under-aligned epoll_event byte-wise (fixes Go netpoll EFAULT) ([#914]https://github.com/rcore-os/tgoskits/pull/914)
- *(starry-kernel)* close EPOLLET race window and NoEvent busy-loop ([#910]https://github.com/rcore-os/tgoskits/pull/910)
- *(starry-kernel)* handle COW write faults from kernel-mode user-memory writes ([#909]https://github.com/rcore-os/tgoskits/pull/909)
- *(starry-kernel)* align file sync syscalls with Linux semantics ([#903]https://github.com/rcore-os/tgoskits/pull/903)
- *(epoll,sigmask-related)* align sigsetsize checks with linux abi ([#900]https://github.com/rcore-os/tgoskits/pull/900)
- *(starry-kernel)* correct splice error handling ([#896]https://github.com/rcore-os/tgoskits/pull/896)
- *(starry)* snapshot thread context in file syscalls ([#885]https://github.com/rcore-os/tgoskits/pull/885)
- *(starry)* avoid teardown usercopy from kernel tasks ([#878]https://github.com/rcore-os/tgoskits/pull/878)
- *(signal)* add wake_task after signal delivery and dumpable/no_new_privs fields ([#797]https://github.com/rcore-os/tgoskits/pull/797)
- *(starry-kernel)* support TCP socket FIONREAD ([#869]https://github.com/rcore-os/tgoskits/pull/869)
- *(starry)* preserve vfork parent blocking ([#693]https://github.com/rcore-os/tgoskits/pull/693)
- *(repo)* migrate spin usage to ax-kspin ([#861]https://github.com/rcore-os/tgoskits/pull/861)
- *(starry)* expose SMP CPU topology in sysfs ([#842]https://github.com/rcore-os/tgoskits/pull/842)
- *(starry)* implement conservative riscv hwprobe ([#843]https://github.com/rcore-os/tgoskits/pull/843)
- *(starry-kernel)* pidfd open/getfd/send_signal Linux conformance ([#707]https://github.com/rcore-os/tgoskits/pull/707)
- *(busybox-run_parts)* retry non-ELF executables via /bin/sh in execve ([#517]https://github.com/rcore-os/tgoskits/pull/517)

### Other

- namespace实现 ([#981]https://github.com/rcore-os/tgoskits/pull/981)
- *(ci)* bump Rust toolchain to nightly-2026-05-28 and fix clippy ([#1027]https://github.com/rcore-os/tgoskits/pull/1027)
- *(starry-kernel)* add memtrack alloc backtrace e2e ([#1020]https://github.com/rcore-os/tgoskits/pull/1020)
- *(sched)* add sched-family test suite and fix kernel scheduler sys… ([#986]https://github.com/rcore-os/tgoskits/pull/986)
- *(ax-alloc)* remove ax-allocator dependency, simplify to TLSF/buddy-slab backends ([#987]https://github.com/rcore-os/tgoskits/pull/987)
- replace SpinNoIrq with ax_sync::Mutex to allow sleeping during init ([#964]https://github.com/rcore-os/tgoskits/pull/964)
- *(deps)* update spin 0.10→0.12, ostool 0.19→0.21 ([#978]https://github.com/rcore-os/tgoskits/pull/978)
- Refactor code structure for improved readability and maintainability ([#982]https://github.com/rcore-os/tgoskits/pull/982)
- Implement platform-specific IRQ handling and architecture setup ([#979]https://github.com/rcore-os/tgoskits/pull/979)
- Adds support for kernel symbol dumping via kallsyms ([#837]https://github.com/rcore-os/tgoskits/pull/837)
- Remove ARM PL011 UART driver and integrate DesignWare APB UART support ([#965]https://github.com/rcore-os/tgoskits/pull/965)
- *(starry)* route HAL access through ax-runtime ([#963]https://github.com/rcore-os/tgoskits/pull/963)
- *(drivers)* split shared driver stack from ArceOS ([#831]https://github.com/rcore-os/tgoskits/pull/831)
- Fix/starryos: 完善了StarryOS的sys_membarrier和sys_rseq两个系统调用。 ([#897]https://github.com/rcore-os/tgoskits/pull/897)
- Test socket syscalls ([#871]https://github.com/rcore-os/tgoskits/pull/871)
- *(syscall)* add test-shm-family shm syscall conformance suite ([#865]https://github.com/rcore-os/tgoskits/pull/865)
- *(starryos)* add capget syscall test and fix NULL datap handling ([#863]https://github.com/rcore-os/tgoskits/pull/863)
- Refactor workspace structure and update dependencies ([#864]https://github.com/rcore-os/tgoskits/pull/864)
- *(syscall)* add regression tests for StarryOS signal extension syscalls and fixup ([#806]https://github.com/rcore-os/tgoskits/pull/806)
- *(syscall)* add comprehensive select/poll/pselect6/ppoll deep test suite ([#679]https://github.com/rcore-os/tgoskits/pull/679)

### Added

- *(prctl)* implement `PR_SET_CHILD_SUBREAPER` and `PR_GET_CHILD_SUBREAPER` with orphan reparenting tests.

## [0.5.12]https://github.com/rcore-os/tgoskits/compare/starry-kernel-v0.5.11...starry-kernel-v0.5.12 - 2026-05-22

### Added

- add sg2002 USB UVC camera with ESP-compatible ioctl ([#791]https://github.com/rcore-os/tgoskits/pull/791)
- *(starry)* add utimensat test case and fix kernel bugs ([#763]https://github.com/rcore-os/tgoskits/pull/763)
- *(drm)* per-buffer memory allocation for Weston bringup ([#667]https://github.com/rcore-os/tgoskits/pull/667)
- *(starry)* support multi-threaded execve ([#273]https://github.com/rcore-os/tgoskits/pull/273)

### Fixed

- *(starry-kernel)* open/openat deep — 6 类跨子系统改造 (stacked on #719) ([#720]https://github.com/rcore-os/tgoskits/pull/720)
- *(ax-task)* migrate tasks after affinity updates ([#825]https://github.com/rcore-os/tgoskits/pull/825)
- *(starry-kernel)* open/openat 15 类局部修复 ([#719]https://github.com/rcore-os/tgoskits/pull/719)
- *(starry-kernel)* handle tty cursor position report ([#776]https://github.com/rcore-os/tgoskits/pull/776)
- *(starry)* sys_sendfile
- *(starry-kernel)* PR_SET/GET_DUMPABLE + setuid 自动清 ([#718]https://github.com/rcore-os/tgoskits/pull/718)

### Other

- Add kernel tracepoint infrastructure and debugfs integration ([#673]https://github.com/rcore-os/tgoskits/pull/673)
- *(starry)* add signalfd4 test case, fix ssi_pid/ssi_uid ([#683]https://github.com/rcore-os/tgoskits/pull/683)

## [0.5.11]https://github.com/rcore-os/tgoskits/compare/starry-kernel-v0.5.10...starry-kernel-v0.5.11 - 2026-05-19

### Added

- *(starry-kernel)* add anonymous memfd, seals, and pidfd tests ([#565]https://github.com/rcore-os/tgoskits/pull/565)

### Fixed

- *(starry)* tolerate robust futex cleanup faults ([#692]https://github.com/rcore-os/tgoskits/pull/692)
- *(net)* correct UDP sendto/recvfrom/sendmsg/recvmsg semantics to match Linux ABI ([#598]https://github.com/rcore-os/tgoskits/pull/598)
- *(starry-kernel)* MAP_FIXED failure preserves prior mapping ([#691]https://github.com/rcore-os/tgoskits/pull/691)
- *(starry)* weston bringup fixes + IRQ wakers + AF_UNIX cmsg byte marks ([#509]https://github.com/rcore-os/tgoskits/pull/509)
- *(starry)* reject invalid umount2 flags ([#699]https://github.com/rcore-os/tgoskits/pull/699)
- *(starry)* support v4-mapped IPv6 sockets ([#694]https://github.com/rcore-os/tgoskits/pull/694)

### Other

- Merge branch 'pr-717' into dev
- *(starry)* add uname/sysinfo coverage and minimal syslog syscall support ([#705]https://github.com/rcore-os/tgoskits/pull/705)

## [0.5.10]https://github.com/rcore-os/tgoskits/compare/starry-kernel-v0.5.9...starry-kernel-v0.5.10 - 2026-05-15

### Added

- *(starry-kernel)* add chmod/fchmod/chown/fchown/fchmodat/faccessat/umask syscall coverage and centralized absolute-path handling ([#605]https://github.com/rcore-os/tgoskits/pull/605)
- *(net)* expand AF_NETLINK with rtnetlink/uevent/genl plumbing ([#512]https://github.com/rcore-os/tgoskits/pull/512)
- *(starry)* sysfs symlinks + evdev minor base 64 + /run/udev seed for weston ([#508]https://github.com/rcore-os/tgoskits/pull/508)
- *(starry)* implement advisory file locks (fcntl POSIX/OFD, flock) ([#472]https://github.com/rcore-os/tgoskits/pull/472)
- *(drivers)* migrate Sparreal driver crates ([#540]https://github.com/rcore-os/tgoskits/pull/540)
- *(starry-kernel)* add runtime dynamic debug control ([#446]https://github.com/rcore-os/tgoskits/pull/446)
- *(starryos/procfs)* implement /proc/stat, /proc/cpuinfo, /proc/uptime; fix /proc/meminfo and sysinfo() ([#452]https://github.com/rcore-os/tgoskits/pull/452)
- *(starry-usbfs)* expose USB devices through usbfs and sysfs
- *(starry-net)* add minimal netlink socket support
- *(starry-syscall)* add timerfd and file handle support
- *(irq)* pass IRQ/event number to registered handlers
- *(timer)* implement POSIX timer syscalls (timer_create/settime/gettime/delete ([#341]https://github.com/rcore-os/tgoskits/pull/341)
- *(realtek-rtl8125)* complete OrangePi board bringup ([#404]https://github.com/rcore-os/tgoskits/pull/404)
- feat(vfork) + fix(execve): implement vfork parent blocking and fix exec under CLONE_VM ([#377]https://github.com/rcore-os/tgoskits/pull/377)
- *(starry)* implement mremap ([#205]https://github.com/rcore-os/tgoskits/pull/205)
- *(mm)* track backend split metadata and generate real /proc maps output ([#306]https://github.com/rcore-os/tgoskits/pull/306)
- *(ax-net-ng)* add ICMP raw socket support ([#368]https://github.com/rcore-os/tgoskits/pull/368)
- *(net)* migrate ax-net to crates.io smoltcp ([#410]https://github.com/rcore-os/tgoskits/pull/410)
- *(runtime)* extend IRQ, RTC, and tty event support ([#287]https://github.com/rcore-os/tgoskits/pull/287)
- *(console)* add interrupt-driven console input ([#343]https://github.com/rcore-os/tgoskits/pull/343)

### Fixed

- *(starry-kernel)* align fchownat semantics and add syscall coverage ([#588]https://github.com/rcore-os/tgoskits/pull/588)
- *(evdev)* expose eventN for all input devices and plumb EVIOCGPROP/EVIOCGABS ([#513]https://github.com/rcore-os/tgoskits/pull/513)
- *(starry)* close TOCTOU windows in FutexGuard::drop and close_all_fds ([#498]https://github.com/rcore-os/tgoskits/pull/498)
- *(starry-kernel)* avoid poll and epoll wait user-buffer panics ([#523]https://github.com/rcore-os/tgoskits/pull/523)
- *(ext4)* use Linux-compatible old/new_encode_dev for device rdev ([#518]https://github.com/rcore-os/tgoskits/pull/518)
- *(starry-kernel)* close CLI compatibility gaps ([#524]https://github.com/rcore-os/tgoskits/pull/524)
- *(loop)* replace map_or with is_none_or to silence clippy unnecessary_map_or ([#501]https://github.com/rcore-os/tgoskits/pull/501)
- *(starry)* harden futex wait and robust-list semantics ([#545]https://github.com/rcore-os/tgoskits/pull/545)
- *(tty)* drain console input without RX IRQ ([#569]https://github.com/rcore-os/tgoskits/pull/569)
- *(packet)* support busybox arping ([#484]https://github.com/rcore-os/tgoskits/pull/484)
- *(epoll)* drain ready list once per epoll_wait in LT mode ([#504]https://github.com/rcore-os/tgoskits/pull/504)
- *(sched)* support busybox nice priority syscalls ([#477]https://github.com/rcore-os/tgoskits/pull/477)
- return correct values for zombie pids in getsid/getpgid/getpriority ([#500]https://github.com/rcore-os/tgoskits/pull/500)
- *(proc)* expose arp table for busybox arp ([#480]https://github.com/rcore-os/tgoskits/pull/480)
- *(tty)* poll_read with VMIN=0 no longer reports POLLIN when buffer is empty ([#502]https://github.com/rcore-os/tgoskits/pull/502)
- *(busybox-hwclock)* remove fake RTC device for correct hwclock behavior ([#521]https://github.com/rcore-os/tgoskits/pull/521)
- *(starry-kernel)* avoid tmpfs cwd cleanup panic ([#525]https://github.com/rcore-os/tgoskits/pull/525)
- *(proc)* expose init pid for busybox pidof ([#482]https://github.com/rcore-os/tgoskits/pull/482)
- *(loop)* add BLKSSZGET and BLKPBSZGET ioctl handlers ([#489]https://github.com/rcore-os/tgoskits/pull/489)
- *(ioctl)* suppress kernel warnings for block device ioctls on non-block fds ([#491]https://github.com/rcore-os/tgoskits/pull/491)
- *(blockdev)* busybox arch/blkid/blkdiscard/blockdev + loop device Linux semantics ([#465]https://github.com/rcore-os/tgoskits/pull/465)
- *(file)* reject invalid linkat flags and preserve symlink semantics ([#449]https://github.com/rcore-os/tgoskits/pull/449)
- *(file)* honor RENAME_NOREPLACE in renameat2 ([#451]https://github.com/rcore-os/tgoskits/pull/451)
- *(arceos)* adjust dynamic platform and network integration
- *(starry-syscall)* improve user memory and write buffer handling
- *(starry-task)* normalize cloned user return state
- *(mm)* accept fd 0 for file mmap and ignore fd for anonymous mappings ([#450]https://github.com/rcore-os/tgoskits/pull/450)
- *(starryos)* reject invalid pipe2 flags with EINVAL ([#268]https://github.com/rcore-os/tgoskits/pull/268)
- isolate signal check blocking per thread ([#224]https://github.com/rcore-os/tgoskits/pull/224)
- *(starry)* reject negative ftruncate length ([#209]https://github.com/rcore-os/tgoskits/pull/209)
- *(net)* preserve unix bind success after chown ([#313]https://github.com/rcore-os/tgoskits/pull/313)
- *(console)* keep UART writes raw ([#402]https://github.com/rcore-os/tgoskits/pull/402)
- *(starryos)* validate pwrite64 fd before zero-length return ([#381]https://github.com/rcore-os/tgoskits/pull/381)
- implement close_all_fds function and enhance pipe and syscall handling ([#305]https://github.com/rcore-os/tgoskits/pull/305)
- *(starryos)* Fix eventfd read and write semantics in StarryOS. ([#370]https://github.com/rcore-os/tgoskits/pull/370)

### Other

- Adds a StarryOS YOLOv8 UVC camera demo for OrangePi 5 Plus with RKNN/NPU inference and HTTP MJPEG streaming. ([#574]https://github.com/rcore-os/tgoskits/pull/574)
- Implement blocking behavior for message queue system calls ([#488]https://github.com/rcore-os/tgoskits/pull/488)
- Fix/syscall brk semantics ([#486]https://github.com/rcore-os/tgoskits/pull/486)
- busybox_ipaddr ([#481]https://github.com/rcore-os/tgoskits/pull/481)
- *(sys_truncate/sys_ftruncate)* reject empty path, huge length, huge length, read-only file, etc. ([#466]https://github.com/rcore-os/tgoskits/pull/466)
- *(sys fadvise64)* reject invalid/closed fd with ebadf, negative len with einval ([#444]https://github.com/rcore-os/tgoskits/pull/444)
- *(repo)* remove tgmath example and refresh docs/deps
- fchmodat2 invalid flag validation and legacy fchmodat flagless d ([#462]https://github.com/rcore-os/tgoskits/pull/462)
- faccessat2 mode/flag validation and legacy faccessat dispatch ([#460]https://github.com/rcore-os/tgoskits/pull/460)
- wait4 invalid option validation rejects waitid-only and unkno ([#461]https://github.com/rcore-os/tgoskits/pull/461)
- Merge pull request #463 from hongdy22/codex/round-914-file_directory_semantics-readlinkat-zero-size-bu-20260508120844
- mknodat mode type-zero regular file semantics and S_IFDIR errno
- *(sys_fallocate)* validate negative offset/len, use EOPNOTSUPP for unsupported modes,   reject huge offsets ([#441]https://github.com/rcore-os/tgoskits/pull/441)
- (bugfix) sys_clock_getres return EINVAL when clockid is invalid ([#430]https://github.com/rcore-os/tgoskits/pull/430)
- *(kernel)* remove unused user interpreter base constants and clean up socket handling ([#421]https://github.com/rcore-os/tgoskits/pull/421)
- Implement vfork, getpgrp, and time syscalls with test enhancements ([#409]https://github.com/rcore-os/tgoskits/pull/409)
- *(session)* comprehensive tests for setsid, getsid, setpgid, getpgid ([#336]https://github.com/rcore-os/tgoskits/pull/336)
- *(starryos)* inherit workspace metadata
- *(starry)* drop outdated and unmaintained stuffs ([#353]https://github.com/rcore-os/tgoskits/pull/353)

### Fixed

- *(mmap)* accept fd 0 for file mappings and ignore fd for anonymous mappings
- *(linkat)* reject invalid flags and preserve symlink hard-link semantics
- *(renameat2)* reject unknown flags and implement `RENAME_NOREPLACE`

## [0.5.9]https://github.com/rcore-os/tgoskits/compare/starry-kernel-v0.5.8...starry-kernel-v0.5.9 - 2026-04-27

### Added

- *(starry)* harden stat/fstatat/statx and add test-stat-family suite ([#300]https://github.com/rcore-os/tgoskits/pull/300)
- *(ax-sync)* add mutex lockdep and fix Starry atomic-context violations ([#271]https://github.com/rcore-os/tgoskits/pull/271)
- *(starry)* implement per-process credentials subsystem and permission checks ([#246]https://github.com/rcore-os/tgoskits/pull/246)
- *(prctl)* implement PR_SET_PDEATHSIG and PR_GET_PDEATHSIG with signal delivery ([#249]https://github.com/rcore-os/tgoskits/pull/249)
- *(platform)* parse physical memory size from DTB and fix RLIMIT_STACK default ([#248]https://github.com/rcore-os/tgoskits/pull/248)
- *(signal)* implement SA_RESTART syscall restart semantics ([#247]https://github.com/rcore-os/tgoskits/pull/247)

### Fixed

- *(starry)* stabilize shm deadlock regression
- *(syscall)* support preadv2/pwritev2 offset=-1 and reject unsupported flags ([#326]https://github.com/rcore-os/tgoskits/pull/326)
- *(starry)* accept sigaltstack with exactly MINSIGSTKSZ bytes ([#207]https://github.com/rcore-os/tgoskits/pull/207)
- *(file)* write on directory fd returns EBADF instead of EISDIR ([#324]https://github.com/rcore-os/tgoskits/pull/324)
- *(prlimit64)* allow raising hard limit instead of silent no-op ([#319]https://github.com/rcore-os/tgoskits/pull/319)
- *(epoll)* re-queue interest after EPOLL_CTL_MOD ([#314]https://github.com/rcore-os/tgoskits/pull/314)
- *(lseek)* return EINVAL for negative offset with SEEK_SET ([#303]https://github.com/rcore-os/tgoskits/pull/303)
- *(starry)* validate copy_file_range flags, file types, and overlap ([#211]https://github.com/rcore-os/tgoskits/pull/211)
- *(starry)* validate getrandom flags per Linux semantics ([#210]https://github.com/rcore-os/tgoskits/pull/210)
- *(tty)* improve termios handling and ensure safety in locking mecha… ([#308]https://github.com/rcore-os/tgoskits/pull/308)
- *(starry-kernel)* 修复 futex 等待中的用户态内存访问 ([#302]https://github.com/rcore-os/tgoskits/pull/302)
- *(ipc)* resolve SHM_MANAGER/shm_inner AB/BA deadlock under SMP ([#226]https://github.com/rcore-os/tgoskits/pull/226)
- *(mm/syscall)* fix pause() and NULL pointer validation for zero-length slices ([#296]https://github.com/rcore-os/tgoskits/pull/296)
- *(starry)* align mmap/munmap/mprotect error paths with Linux ([#285]https://github.com/rcore-os/tgoskits/pull/285)
- *(starry)* validate madvise advice/alignment/mapping per Linux ([#278]https://github.com/rcore-os/tgoskits/pull/278)
- respect pid in sched affinity syscalls ([#276]https://github.com/rcore-os/tgoskits/pull/276)
- fix/sys-pwritev2-read-at-to-write-at ([#280]https://github.com/rcore-os/tgoskits/pull/280)
- *(starry)* fix getgroups size=0 query and clock_gettime invalid clock_id behavior ([#208]https://github.com/rcore-os/tgoskits/pull/208)
- *(starry)* clamp clone3 user struct read length ([#269]https://github.com/rcore-os/tgoskits/pull/269)
- *(times)* use ProcessData for child CPU time instead of parent time ([#257]https://github.com/rcore-os/tgoskits/pull/257)
- *(starry)* fix fsync/fdatasync on directory fds and implement sync_file_range ([#251]https://github.com/rcore-os/tgoskits/pull/251)
- *(epoll)* fix epoll_pwait sigsetsize incompatibility with musl ([#250]https://github.com/rcore-os/tgoskits/pull/250)
- report real cpu affinity in proc status ([#267]https://github.com/rcore-os/tgoskits/pull/267)
- *(task)* process pending futex entry in exit_robust_list ([#259]https://github.com/rcore-os/tgoskits/pull/259)
- *(file)* return EISDIR instead of EBADF for directory read/write ([#264]https://github.com/rcore-os/tgoskits/pull/264)
- *(mm)* preserve mapping sharing type in sys_mremap ([#263]https://github.com/rcore-os/tgoskits/pull/263)
- *(tty)* read pgid from user arg in TIOCSPGRP handler ([#262]https://github.com/rcore-os/tgoskits/pull/262)
- *(ipc)* replace unwrap with error handling in sys_shmat ([#261]https://github.com/rcore-os/tgoskits/pull/261)
- *(fcntl)* return correct access mode flags in F_GETFL ([#260]https://github.com/rcore-os/tgoskits/pull/260)
- *(syscall)* add negative offset validation in sys_pwrite64 and pwritev ([#258]https://github.com/rcore-os/tgoskits/pull/258)
- *(file)* return correct errno for pipe fds instead of EPIPE ([#256]https://github.com/rcore-os/tgoskits/pull/256)

### Other

- *(starry)* reject invalid unlinkat flag bits with EINVAL ([#265]https://github.com/rcore-os/tgoskits/pull/265)
- *(starry)* add ioctl FIONBIO test and fix int parsing bug ([#255]https://github.com/rcore-os/tgoskits/pull/255)
- Implement RK3588 CRU driver with NPU support and enhancements ([#241]https://github.com/rcore-os/tgoskits/pull/241)
- Unifies breakpoint and debug trap handling across archs ([#244]https://github.com/rcore-os/tgoskits/pull/244)