Commit Graph
748 Commits
Author SHA1 Message Date
orezraeyandClaude Opus 5.5 fddc34a381 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:16:39 -03:00
Yunus Shaikh 9e7b2ade4c Merge main into fix/libkernel-signal-handler-mask 2026-10-24 10:47:50 -07:00
Adrià 6b496aa1d1 Merge pull request #7299 from qpavyros/codex/windows-named-shm
feat(libkernel): support named shared memory on Windows
2026-10-24 19:42:16 +02:00
Dean ebdfb92528 Merge pull request #8872 from ycbuzi/feat/libc-siginterrupt
feat(libc): implement siginterrupt through the sigaction libkernel registers
2026-10-25 06:39:00 +13:00
Dean 6d0139cd33 Merge pull request #10330 from orezraey/fix/libkernel-socket-flags-measured-ps5
fix(libkernel): keep the SOL_SOCKET flags a PS5 accepts
2026-10-25 06:34:52 +13:00
Dean d003e64fcf Merge pull request #9099 from aarushkha/feat/libkernel-equeue-regular-file-events-v2
feat(libkernel): answer sceKernelAddReadEvent and sceKernelAddWriteEvent on regular files
2026-10-25 06:33:30 +13:00
orezraeyandClaude Opus 5.5 6fc4ba0d31 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:21:09 -03:00
orezraeyandClaude Opus 5.5 7c04bd3a43 Merge fix/libkernel-multicast-membership-measured-ps5 into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:20:50 -03:00
Adrià 137a8fab89 Merge pull request #7853 from ionut27001/fix/libkernel-rtprio-thread-lookup
fix(libkernel): report a thread's class and priority from rtprio_thread as measured on a PS5
2026-10-24 19:01:43 +02:00
orezraeyandClaude Opus 5.5 c7b39854eb Merge main into fix/libkernel-socket-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:57:57 -03:00
Yunus Shaikh b72ea79cf9 Merge main into fix/libkernel-signal-handler-mask 2026-10-24 09:56:48 -07:00
Dean dc9f1ef656 Merge pull request #10327 from orezraey/fix/libkernel-tcp-options-measured-ps5
fix(libkernel): keep TCP_MAXSEG and the TCP keepalive options as measured on a PS5
2026-10-25 05:52:56 +13:00
Adrià 440cbddca1 Merge pull request #8234 from jagrat04/feat/libSceNet-show-ifconfig-with-memory
feat(libSceNet): implement sceNetShowIfconfigWithMemory
2026-10-24 18:46:53 +02:00
alnsx e7ff68e558 chore: merge main and preserve polling debt clarifications 2026-10-24 12:24:17 -04:00
alnsx 71a1384845 docs(libkernel): clarify redirected standard-descriptor readiness 2026-10-24 12:21:48 -04:00
Adrià c9b75825f3 Merge pull request #8373 from slider/feat/libkernel-pthread-attr-accessors
feat(libkernel): add missing pthread attribute accessors
2026-10-24 17:29:28 +02:00
orezraeyandClaude Opus 5.5 a328020e95 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 12:24:32 -03:00
review ac2591a193 Merge commit 'refs/review/8742/head' into HEAD 2026-10-24 17:23:45 +02:00
Dean 2393e2e773 Merge pull request #10320 from orezraey/fix/libkernel-ip-options-measured-ps5
fix(libkernel): keep IP_TTL, IP_TOS and the multicast options as measured on a PS5
2026-10-25 04:18:17 +13:00
Dean ce16645691 Merge pull request #9127 from Retr0G28/fix/equeue-rotate-level-events
fix(libkernel): move events reported by sceKernelWaitEqueue behind the waiting ones
2026-10-25 04:17:49 +13:00
Dean e60371da9c Merge pull request #9123 from Retr0G28/fix/sigaction-ignore-discards-pending
fix(libkernel): discard a pending signal when sigaction or signal ignores it
2026-10-25 04:17:21 +13:00
aarushkha 8d67d8d070 docs(libkernel): note that lseek does not reactivate a regular-file read knote on FreeBSD 2026-10-24 20:37:58 +05:30
Dean 7dea7774d6 Merge pull request #10018 from JJenkx/fix/dmem-release-skips-free-pages
fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
2026-10-25 03:51:22 +13:00
Retr0 8083ae7209 Merge remote-tracking branch 'origin/main' into fix/sigaction-ignore-discards-pending
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-24 16:44:21 +03:00
Retr0 8f66466e75 Merge remote-tracking branch 'origin/main' into fix/socketpair-getpeername-enotconn 2026-10-24 16:09:19 +03:00
Retr0 f389bcce9c docs(debt): describe the sceKernelWaitEqueue report order after a rotation 2026-10-24 16:08:12 +03:00
orezraeyandClaude Opus 5.5 d9d84b5912 fix(libkernel): drop a multicast group through INADDR_ANY on any interface
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 10:01:20 -03:00
Adrià 6cd36e6517 Merge pull request #9794 from Retr0G28/feat/sysctl-kern-boottime
feat(libkernel): answer kern.boottime in sysctl and sysctlbyname
2026-10-24 14:58:01 +02:00
orezraeyandClaude Opus 5.5 8d28c15ea4 Merge fix/libkernel-socket-flags-measured-ps5 into fix/libkernel-multicast-membership-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:57:22 -03:00
orezraeyandClaude Opus 5.5 2f443f3b88 Merge fix/libkernel-tcp-options-measured-ps5 into fix/libkernel-socket-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:56:35 -03:00
orezraeyandClaude Opus 5.5 d360078c6a Merge fix/libkernel-ip-options-measured-ps5 into fix/libkernel-tcp-options-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:56:27 -03:00
orezraeyandClaude Opus 5.5 55473fb673 fix(libkernel): keep the low byte of an int IP_MULTICAST_LOOP
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:55:58 -03:00
Dean 9a1ea5de1b Merge pull request #10110 from BunnyFl/feat/libkernel-version-trace-queries
feat(libkernel): implement the system-ex version, lower-limit and trace memory queries
2026-10-25 01:53:38 +13:00
Adrià f13538ecad Merge pull request #9074 from imellag/fix/libkernel-posix-raise-deferral
fix(libkernel): defer raises while a thread holds the address-wait lock on Linux and macOS
2026-10-24 14:29:36 +02:00
Dean 0fc488a06d Merge pull request #10230 from orezraey/fix/libkernel-module-info-from-addr-measured-ps5
fix(libkernel): answer sceKernelGetModuleInfoFromAddr's flags and failures as measured on a PS5
2026-10-25 00:24:17 +13:00
Dean 5b02b41c1d Merge pull request #9876 from orezraey/fix/libkernel-aio-limits-measured-ps5
fix(libkernel): follow AIO limits, unknown ids and reported states as measured on a PS5
2026-10-25 00:21:25 +13:00
Adrià fa515def85 Merge pull request #7653 from ionut27001/fix/libkernel-kevent-timer-readd
fix(libkernel): handle kevent timer re-adds and the AIO, LIO, SENDFILE and PROCDESC filters as measured on a PS5
2026-10-24 13:02:21 +02:00
Adrià 887a9640b4 Merge pull request #7605 from HQasper/fix/poll-kqueues
fix(libkernel): poll kqueues as kqueue_poll answers
2026-10-24 12:32:33 +02:00
orezraeyandClaude Opus 5.5 09048e3278 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 06:56:16 -03:00
JJenkxandClaude Opus 5.5 462f8dff1f fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
The unchecked release passed its whole range to ForgetDirectMemory,
which throws on any page that is not allocated, so releasing a range
that is partly or wholly free aborted the process. Release only the
allocated runs, as shadPS4's unchecked free does; the checked variant
still returns ENOENT for them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 05:54:17 -04:00
bluandClaude Opus 5.5 e040d1191b Merge branch 'boykopovar:main' into feat/libc-siginterrupt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:49:01 -07:00
Adrià f23ed4533d Merge pull request #8921 from xXPBSXx/docs/udp-disconnect-windows-bound-address
docs(debt): record what a Windows UDP socket keeps after connect(AF_UNSPEC)
2026-10-24 11:28:43 +02:00
Adrià bfb504fc78 Merge pull request #8533 from Retr0G28/docs/libkernel-dup-directory-debt
docs(debt): drop the Windows directory dup gap from libkernel
2026-10-24 11:25:49 +02:00
Adrià 6b4cf8c731 Merge pull request #8408 from thuanquang/docs/debt-amm-submit-queue
docs(libkernel): say that an AMM command buffer may run after its submission returns
2026-10-24 11:21:27 +02:00
Adrià FranchandClaude Sonnet 5.5 387f069744 chore(libkernel): drop code comments from the kqueue tests and move the timer debt line off the section end
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 11:13:43 +02:00
blawesom 681cfa1170 fix(libkernel): refuse a timer modify with fflags and pin the disabled timer's enable re-arm
- a timer change with EV_ADD unset and data 0 keeps the period; one that set
  fflags was silently ignored, where FreeBSD 11's kqueue_register copies it
  onto the note: it now throws with the other re-adds, waiting for the
  measured rules
- EV_ENABLE on a disabled timer reports the expiries missed while disabled in
  one step and keeps the note's phase, as FreeBSD 11's filt_timerexpire counts
  a disabled note and keeps its p_nexttime; TimerDisableEnableRearm pins it
  (5 serial runs and 3 rounds of 8 parallel copies pass)
- the next-wait abort from the review round was observed before main's
  5cbc46029b wait refactor and does not reproduce
2026-10-24 11:13:43 +02:00
Nawasfadili 29a6fc7169 fix(libkernel): retire an EV_ONESHOT note through its delete callback and follow Windows $Deleted paths
Carries the additive pieces of #6510 onto main after its feature was
superseded by #5847: the deleteEventFunc invocation when an EV_ONESHOT
note retires in CollectTriggered, the Windows $Deleted path detection
in FileEvent (IsDeleted transitions), the relaxed timer-modify and
SetVnodeNotes guards, and the compatible kevent tests.
2026-10-24 11:13:43 +02:00
Dean ce965ddb7b Merge pull request #9153 from orezraey/fix/libkernel-dmem-available-measured-ps5
fix(libkernel): match sceKernelAvailableDirectMemorySize arguments to PS5
2026-10-24 22:13:10 +13:00
Dean e058b3284a Merge pull request #9167 from slider/feat/libkernel-named-semaphores
feat(libkernel): implement named POSIX semaphores
2026-10-24 21:09:30 +13:00
ionut27001 27e37024a8 fix(libkernel): handle kevent timer re-adds and the AIO, LIO, SENDFILE and PROCDESC filters as measured on a PS5
In payload processes on a PS5 (firmware 12.70), re-adding an existing
periodic EVFILT_TIMER with EV_ADD, fflags 0 and a positive period kept
the armed expiry and the expirations already counted, and applied the
new period after that expiry, as FreeBSD 11.0 does. EV_ONESHOT in the
re-add left the timer periodic. Here such a re-add threw; it now does
the same. Re-adding a one-shot or disabled timer, a re-add with nonzero
fflags, a period of 0 or less, a period that overflows the armed expiry
or flags other than EV_ONESHOT, and the other changes to an existing
timer except EV_DELETE still throw.

There, EV_ADD failed with EPERM for EVFILT_AIO, EVFILT_LIO and
EVFILT_SENDFILE at every ident and flag set tried, and EV_DELETE and
EV_ENABLE of them without EV_ADD failed with ENOENT. EVFILT_PROCDESC
failed with EBADF on a descriptor that is not open and with EINVAL on
every kind of open descriptor tried, and EV_DELETE of it on a socket
failed with ENOENT. These filters threw here; they now answer the same
way. EV_ADD of EVFILT_PROCDESC fails with EINVAL on the kinds of
descriptor tried and on shared memory, and throws on other kinds and on
descriptors 0 to 2 that are not sockets or kqueues; a change without
EV_ADD fails with ENOENT, after the descriptor check for
EVFILT_PROCDESC.

A new kevent measurements debt entry, which the kqueue and kevent entry
points to, records these measurements and the answers for NOTE_LOWAT
marks and EVFILT_READ on another kqueue, which still throw here. The
kqueue and kevent entry also stops listing a NOTE_NSECONDS period above
one second with a fraction among the cases that throw, since d71a1c577
made it work.
2026-10-24 10:08:01 +02:00