Dean
a3cf44c558
Merge pull request #10111 from xXPBSXx/fix/fchflags-kqueue-einval
...
fix(libkernel): fail fchflags on a kqueue descriptor with EINVAL
2026-10-24 12:54:38 +13:00
Dean
d8b73e3644
Merge pull request #9273 from DavidSamir/feat/libkernel-sys-pselect
...
feat(libkernel): implement pselect over select
2026-10-24 12:53:12 +13:00
Dean
ca7bf033c5
Merge pull request #9005 from JJenkx/fix/libkernel-sema-null-esrch
...
fix(libkernel): return ESRCH for a null semaphore handle
2026-10-24 11:58:20 +13:00
Dean
85f2f2d478
Merge pull request #8544 from Retr0G28/fix/fcntl-getfl-pipe-rdwr
...
fix(libkernel): report O_RDWR from F_GETFL on both ends of a pipe
2026-10-24 11:55:31 +13:00
Dean
313d905437
Merge pull request #9877 from orezraey/fix/libkernel-release-flexible-measured-ps5
...
fix(libkernel): keep the range sceKernelReleaseFlexibleMemory releases mapped as measured on a PS5
2026-10-24 10:37:09 +13:00
Dean Galvin
baa657a24b
Merge main into fix/libkernel-sema-null-esrch
2026-10-24 09:17:39 +13:00
Dean
7956a166c7
Merge pull request #9108 from Retr0G28/fix/socket-address-length-exact
...
fix(libkernel): reject socket addresses longer than sockaddr_in or sockaddr_in6 with EINVAL
2026-10-24 09:12:39 +13:00
Dean
fac234a47c
Merge pull request #9134 from orezraey/fix/libkernel-event-flag-measured-ps5
...
feat(libkernel): match event flags to PS5 and add shared flags
2026-10-24 09:12:14 +13:00
Dean Galvin
a2ee2958a5
Merge main into fix/fcntl-getfl-pipe-rdwr
2026-10-24 09:07:08 +13:00
Adrià
8cc82c85bf
Merge pull request #6469 from QRMOE/fix-low-guest-address-mappings
...
fix(memory): honor low guest mapping hints
2026-10-23 21:06:11 +02:00
Adrià
606999f3ab
Merge pull request #7937 from DavidSamir/feat/libkernel-jit-shared-memory-macos
...
feat(libkernel): JIT shared memory on macOS hosts
2026-10-23 20:37:27 +02:00
Hermes Agent
950a21aec8
fix(libkernel): return ENOENT for unknown sysctl names
2026-10-23 12:27:30 -04:00
QRMOE
5836873170
fix(memory): honor low guest mapping hints
2026-10-23 16:51:33 +02:00
Dean
4f3087c677
Merge pull request #10136 from orezraey/fix/libkernel-close-standard-descriptors-measured-ps5
...
fix(libkernel): refuse closing the standard descriptors with EPERM as measured on a PS5
2026-10-24 03:23:15 +13:00
Dean Galvin
6747c5b996
Merge main into fix/fcntl-getfl-pipe-rdwr
2026-10-24 02:10:48 +13:00
Dean
06fd07ab4a
Merge pull request #8700 from nikowolf123/feat/libkernel-underscore-socket-signal-entries
...
feat(libkernel): export the underscore entry points of the socket, directory and signal calls
2026-10-24 00:53:04 +13:00
Dean
74f6fa8e31
Merge pull request #10076 from JJenkx/windows/raise-host-backoff
...
fix(libkernel): give a raise target time to run between host-code samples
2026-10-24 00:45:09 +13:00
xXPBSXx and Claude Sonnet 5.5
5b739d2b56
fix(libkernel): fail fchflags on a kqueue descriptor with EINVAL
...
FreeBSD resolves the descriptor with getvnode in sys_fchflags
(vfs_syscalls.c:2403), which fails with EINVAL for a descriptor that has no
vnode. fchflags threw for a kqueue descriptor instead.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-23 12:28:27 +02:00
Dean
5e9f4b8966
Merge pull request #9832 from johandavidcm/fix/libkernel-dlopen-unrelinked
...
fix(libkernel): fail dlopen of an unrelinked module without the Windows Bad Image dialog
2026-10-23 23:18:00 +13:00
orezraey
5c7cdfda26
Merge remote-tracking branch 'origin/main' into fix/libkernel-close-standard-descriptors-measured-ps5
2026-10-23 06:55:14 -03:00
Dean
ff191e29d1
Merge pull request #9382 from MarcZX10/codex/libkernel-sys-sched-interval
...
feat(libkernel_sys): implement sched_rr_get_interval
2026-10-23 22:47:27 +13:00
Dean
b3e42bd1eb
Merge pull request #8359 from Ragbie/fix/windows-pwrite-append
...
fix(libkernel): append positioned writes on an O_APPEND descriptor on Windows
2026-10-23 22:23:57 +13:00
Dean Galvin
2f741e737f
Merge main into feat/libkernel-underscore-socket-signal-entries
2026-10-23 22:00:32 +13:00
Dean
fef15751e6
Merge pull request #8641 from Danigamer05/fix/libkernel-windows-birthtime
...
fix(libkernel): clamp Windows birth time when setting earlier timestamps
2026-10-23 21:49:21 +13:00
Dean
dd5b2a3869
Merge pull request #9736 from LeandroLP23/feat/libkernel-kern-proc-env
...
feat(libkernel): answer kern.proc.env for the calling process
2026-10-23 21:47:33 +13:00
JJenkx and Claude Opus 5.5
fcc01c57a6
fix(libkernel): give a raise target time to run between host-code samples
...
RaiseOn suspends the target, reads its context and, while it is in host
code, resumes it and samples again after SwitchToThread. On a 16-core
Ryzen 9 5950X (Windows 11 22H2) that resampled the writer of
guest_raise_in_host_code about every 10 us before it could run: in the
raise that hung, 4,989 samples over 50 ms all found it in ucrtbase, so
the 50 ms host-code limit ran out and the handler was redirected into
fwrite, where it deadlocked on the stream lock (the test timed out at
30 s on every run). In a passing raise the samples sat at one RIP for
14,695 of 14,703 samples and the raise took 145 ms.
Spin for 20 us before each new host-code sample, so the target gets to
leave host code. With that, guest_raise_in_host_code passes 5 of 5 runs,
no raise is redirected in host code, and the longest raise is 0.46 to
0.53 ms. Other samples keep SwitchToThread.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 04:32:33 -04:00
Dean
a75292c7b3
Merge pull request #8687 from cadenasynyster/fix/win-loop-errors
...
fix(libkernel): report ELOOP from unlink, mkdir, rmdir, truncate on Windows
2026-10-23 21:08:52 +13:00
Dean
87f3526562
Merge pull request #8617 from Lindamea1/fix/libkernel-mutex-unlock-static-eperm
...
fix(libkernel): fail scePthreadMutexUnlock on a statically initialized mutex with EPERM
2026-10-23 21:08:24 +13:00
Dean
f075f91737
Merge pull request #9314 from DavidSamir/feat/libkernel-sys-ktimer
...
feat(libkernel): implement SIGEV_NONE POSIX timers
2026-10-23 20:34:29 +13:00
Dean
c31f139db4
Merge pull request #8890 from UnhealthyKraken/feat/libkernel-pthread-timedjoin
...
feat(libkernel): implement pthread_timedjoin_np
2026-10-23 20:05:52 +13:00
Dean
c9edaff579
Merge pull request #9104 from Retr0G28/fix/sendfile-enotsock
...
fix(libkernel): return ENOTSOCK from sendfile on a descriptor that is not a socket
2026-10-23 19:25:35 +13:00
MarcZX10
86f3f07012
merge upstream main into sched interval fix
2026-10-23 05:56:19 +00:00
Dean
9a030c2d50
Merge pull request #8537 from elieh999/fix/setrlimit-nproc
...
fix(libkernel): store the process resource limit
2026-10-23 16:44:35 +13:00
Dean
96481a6392
Merge pull request #9294 from YossiYad/feat/kernel-sys-module-internal
...
feat(libkernel_sys): implement sceKernelGetModuleInfoInternal and sceKernelGetModuleListInternal
2026-10-23 16:43:43 +13:00
Dean
ee8a7349b5
Merge pull request #9265 from HQasper/claude/project-thread-6o4na3
...
feat(libkernel): implement pthread_rwlock_reltimedrdlock_np and pthread_rwlock_reltimedwrlock_np
2026-10-23 16:05:37 +13:00
Dean Galvin
2f45a312d0
Merge main into fix/setrlimit-nproc
2026-10-23 15:50:49 +13:00
Dean
5c8e38018d
Merge pull request #8986 from MarcZX10/codex/getrlimit-pointer-safety
...
fix(libkernel): check getrlimit output pointers
2026-10-23 15:46:51 +13:00
Dean
00439857cb
Merge pull request #9840 from Dom3005/fix/fstatfs-character-device
...
fix(libkernel): answer fstatfs on a character device as devfs does
2026-10-23 15:33:35 +13:00
orezraey
216014c846
Merge remote-tracking branch 'origin/main' into fix/libkernel-close-standard-descriptors-measured-ps5
2026-10-22 22:51:28 -03:00
Dean Galvin
0da892c52f
Merge main into feat/kernel-sys-module-internal
2026-10-23 14:11:13 +13:00
Dean
39e971a2ea
Merge pull request #8985 from MarcZX10/codex/groups-pointer-safety
...
fix(libkernel): return EFAULT for invalid group pointers
2026-10-23 14:05:39 +13:00
orezraey and Claude Opus 5.5
791990ad3e
fix(libkernel): check the event flag name before the output as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-22 21:37:07 -03:00
orezraey and Claude Opus 5.5
2c92b0f662
fix(libkernel): refuse closing the standard descriptors with EPERM as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-22 21:26:24 -03:00
3fcafeb420
fix(libkernel): keep the thread stack lock alive through static destruction
...
#9272 keeps liveStacks and protectedStackPages alive through static
destruction so that a late mprotect from an atexit handler can still
look up guest thread stacks. The mutex guarding them is still a static
std::mutex. libstdc++'s std::mutex has a trivial destructor, so it keeps
working on Linux, but libc++ destroys the pthread mutex, and a later lock
throws "mutex lock failed: Invalid argument": on macOS the exit probe of
guest_memory_lifetime fails at its mapping protection stage. The lock is
now allocated and never destroyed, like the maps.
The same change is part of #7201 and #8658 .
Co-Authored-By: marion909 <[email protected] >
Co-Authored-By: iamthehimansh <[email protected] >
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-22 20:19:51 -04:00
Dean
9d3becbe51
Merge pull request #9272 from milescoviello/fix/thread-stack-maps-outlive-exit
...
fix(libkernel): keep the thread stack maps alive through static destruction
2026-10-23 13:05:31 +13:00
Dean
cd435c58f4
Merge pull request #9227 from MaxLikesCode/fix/kqueue-snapshot-path-before-state
...
fix(libkernel): read a watched file's path before its state on Windows
2026-10-23 13:05:09 +13:00
Adrià
b1496678ac
Merge pull request #9903 from MarcZX10/codex/test-raise-exception-timeout-9610
...
test(libkernel): allow Windows raise exception timing variance
2026-10-23 01:48:53 +02:00
Dean
895f47f4ee
Merge pull request #8866 from ycbuzi/feat/libkernel-sigintr
...
feat(libkernel): export _sigintr and let signal honour it
2026-10-23 12:19:08 +13:00
Dean
8964c12d5c
Merge pull request #9218 from slopggobblercobbler81/feat/libkernel-setresuid-setresgid
...
feat(libkernel): implement setresuid and setresgid
2026-10-23 11:10:12 +13:00
Dom3005 and Claude Opus 5.5
93ab8d3514
fix(libkernel): answer fstatfs on a character device as devfs does
...
FreeBSD keeps every character device on devfs, whose devfs_statfs reports
512-byte blocks, 2 blocks and nothing free. Windows threw for any console,
NUL or the guest random device, and Linux described the host's /dev mount.
A kqueue now returns EINVAL, as getvnode does.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-22 23:06:03 +02:00