Commit Graph
1392 Commits
Author SHA1 Message Date
Dean 92cdaf6337 Merge pull request #11624 from Felipebmaitan/feat/windows-guest-gs-state
feat(libkernel): maintain per-thread guest GS bases on Windows
2026-11-05 06:35:52 +13:00
Dean 6863f295a9 Merge pull request #10749 from ycbuzi/refactor/siginterrupt-libc-internal
refactor(libSceLibcInternal): serve siginterrupt from libSceLibcInternal
2026-11-05 06:35:30 +13:00
hugodearaujo 3a781a01fa docs(debt): state that APR priorities are unordered and a wait by id covers one buffer 2026-11-03 20:51:59 -03:00
hugodearaujo f06738e1c8 docs(debt): record the APR submit priority queues 2026-11-03 20:15:59 -03:00
Felipebmaitan 41bbc32070 chore: refresh GS state with current main 2026-11-03 14:34:25 -03:00
bluandClaude Opus 5.5 24497b2406 Merge branch 'main' into refactor/siginterrupt-libc-internal
Resolves docs/dev/debt/libkernel.md: main's sigaction entry (SIGPIPE outside Windows) and this branch's signal entry, which points to libSceLibcInternal for siginterrupt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 10:23:38 -07:00
Dean 31ab214934 Merge pull request #11002 from SandstromPL/fix/libkernel-guest-sigpipe
fix(libkernel): let a guest ignore or catch SIGPIPE on Linux
2026-11-04 05:43:27 +13:00
Dean 206e72c90b Merge pull request #15137 from pushkarreddyy/feat/libkernel-sandbox-app0-alias
feat(libkernel): alias title sandbox app0 path to application directory
2026-11-03 21:11:30 +13:00
Dean 8b82678900 Merge pull request #10025 from mehmetbayoglu/fix/libkernel-amm-prt-zero-page
fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
2026-11-03 21:09:48 +13:00
Dean 91ca312437 Merge pull request #9242 from DavidSamir/feat/libkernel-sys-tcgetsid
feat(libkernel): implement tcgetsid
2026-11-03 21:09:31 +13:00
Dean a74a4c370c Merge pull request #14310 from XatiX/fix/libkernel-net-socket-forwards
fix(libkernel): forward socket calls on sceNetSocket descriptors to libSceNet
2026-11-03 21:08:43 +13:00
Dean 8835460b5e Merge pull request #7532 from hugodearaujo/fix/linux-guest-main-stack
fix(linux): enter the guest entry on a main stack at the console's address
2026-11-03 21:07:51 +13:00
Dean Galvin a39b825599 Merge commit 'd1ae628bc2f62459cce1e9872ba5632c938c71f2' into HEAD
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-11-03 18:18:49 +13:00
Dean a03cc0dde6 Merge pull request #14885 from oneandonlydean/carry-7135
fix(libkernel): follow kern_cpuset for the base cpuset, level checks and interrupt targets
2026-11-03 18:14:20 +13:00
Dean b955001c4d Merge pull request #15030 from Gruzzberry/fix/sysctl-overcommit-eperm
fix(libkernel): fail a vm.overcommit write with EPERM
2026-11-03 18:13:26 +13:00
Dean e41879d2b7 Merge pull request #14876 from roboterspinne/fix/libkernel-ipv6-unspecified-connect
fix(libkernel): connect an AF_INET6 socket to ::1 when the address is unspecified, as FreeBSD does
2026-11-03 18:11:16 +13:00
Dean 7a3d08c1c3 Merge pull request #14875 from roboterspinne/fix/libkernel-tcp-multicast-address
fix(libkernel): fail bind and connect of a stream socket to a multicast address with EAFNOSUPPORT
2026-11-03 18:11:11 +13:00
Dean 79b49a50c6 Merge pull request #14710 from ahmadmuj/fix/anyps5-apr-guest-copyout
fix(libkernel): return EFAULT from APR file size and stat queries for an unwritable output
2026-11-03 18:09:40 +13:00
Dean 48dd279a37 Merge pull request #13950 from pushkarreddyy/fix/usercontext-efault
fix(libkernel): return EFAULT from context operations for invalid memory pointers
2026-11-03 18:09:35 +13:00
Dean 10921ef452 Merge pull request #12560 from Kikoarl/fix/win32-verbatim-path-dos-devices
fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows
2026-11-03 18:09:19 +13:00
Dean Galvin df788026b6 fix(libkernel): refuse cpuset sizes the console rejects and record the EPERM difference
cpuset_getaffinity and cpuset_setaffinity return ERANGE from 24 bytes, as a PS5 payload process did (rooklz sweep, #7135 comment 6391606624: 8 to 16 accepted, below 8 and from 24 up ERANGE), and throw for the unmeasured 17 to 23, as pthread_getaffinity_np does. The tests that used 32 bytes use 16 and pin 7, 24, 32 and 64 to ERANGE. The setter entry records that the console answers EPERM for a CPU outside the process's set where this clips and returns 0.
2026-11-03 15:15:35 +13:00
Dean Galvin cc73f16c59 fix(libkernel): answer CPU_LEVEL_ROOT and test the cpuset sizes the console accepts
cpuset_getaffinity at CPU_LEVEL_ROOT returns 0xffff, as a PS5 payload process read it (rooklz, #7135 comment 6390891591), instead of throwing; the target is checked as at the other levels. The level 2 base-set test now passes 8 and 16 bytes, which the console accepts (it returns ERANGE from 24 bytes), instead of depending on the 32 bytes it rejects. The debt entry records the root measurement and that the title root set is unmeasured.
2026-11-03 15:11:23 +13:00
memob c73b65f4b9 docs(libkernel): record the per-page view cost of AMM PRT zero pages 2026-11-02 19:55:26 -05:00
memob 37881a5da0 fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
Unbacked PRT pages were private read-only commits, so every page that was
read took its own host page. They are now views of one pagefile-backed
section created read-only, so the range costs one page however large and
no view of it can be made writable. Host imports treat such views as
read-only memory instead of asking for a read-write alias.
2026-11-02 19:31:59 -05:00
Dean Galvin 843f35fa2a Merge commit '88bb16c20e757658078b3efce912c96b1b03502a' into HEAD
# Conflicts:
#	core/libs/prx/libkernel_sys/Export.Discovery.cpp
#	core/libs/prx/libkernel_sys/include/Api.hpp
2026-11-03 11:45:11 +13:00
Dean 5cb015caaa Merge pull request #15179 from EagleBearerYS/docs/libkernel-setaffinity-measured-sizes
docs(libkernel): record the measured pthread_setaffinity_np set sizes
2026-11-03 11:43:17 +13:00
Dean 3ade074e69 Merge pull request #14417 from roboterspinne/fix/libkernel-aio-efault
fix(libkernel): return EFAULT from AIO poll, cancel and delete for invalid memory
2026-11-03 11:36:00 +13:00
Dean 99e565963e Merge pull request #10319 from MarrasFederico/fix/open-create-trailing-slash
fix(libkernel): report lookup errors when creating through a trailing slash
2026-11-03 11:34:52 +13:00
Kikoarl ae9a8b093d fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows 2026-11-02 21:16:21 +01:00
Yunus Shaikh 93a3f5e0d2 docs(libkernel): give the measured affinity set sizes their own debt entry 2026-11-02 11:56:00 -08:00
Dean 36896d8a7f Merge pull request #14206 from JJenkx/windows/libkernel-select-close-race
fix(libkernel): fail a select with EBADF when its pipe closes during the wait on Windows
2026-11-03 08:46:47 +13:00
Dean b0c4915518 Merge pull request #14039 from EagleBearerYS/fix/kernel-getaffinity-console-sizes
fix(libkernel): follow the console's set sizes in pthread_getaffinity_np
2026-11-03 08:45:45 +13:00
pushkarreddyy 9b436c4e81 docs(debt): document title sandbox app0 path alias 2026-11-02 23:22:18 +05:30
XatiXandClaude Opus 5.5 7a4fa3865b fix(libkernel): keep the libkernel contract on forwarded socket calls
bind, getsockname, sendto and recvfrom validate as for a libkernel socket
before they reach libSceNet, so a forwarded descriptor reports the same
errors. recvfrom keeps its guest address handling and MSG_WAITALL, and a
zero-length datagram receive does not wait.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 17:33:10 +00:00
Dean bc12e15225 Merge pull request #13695 from Retr0G28/fix/ioctl-fioclex-socket
fix(libkernel): set and clear close-on-exec with FIOCLEX and FIONCLEX on a socket
2026-11-03 06:31:41 +13:00
Federico Marras d683cc901a Merge main into fix/open-create-trailing-slash 2026-11-02 18:25:10 +01:00
pushkarreddyy f87223af5e docs(libkernel): document syscall mechanism and UC_COPY_SIZE read in user context operations 2026-11-02 22:17:28 +05:30
pushkarreddyy 6d8c169216 docs(libkernel): document EFAULT memory validation fallback in user context operations 2026-11-02 22:17:28 +05:30
Dean 98efa281cc Merge pull request #12826 from Nixitov/feat/libkernel-dmem-for-app
feat(libkernel): export sceKernelAllocateDirectMemoryForApp and sceKernelProtectDirectMemoryForPID
2026-11-03 05:14:04 +13:00
Dean 4f64f81ef7 Merge pull request #15051 from xXPBSXx/docs-kernel-coredump-register-stack
docs(debt): give the stack bounds of sceCoredumpRegisterCoredumpHandler and what titles pass
2026-11-03 02:41:15 +13:00
Dean 0b20efc578 Merge pull request #12741 from SHOnnay/feat-macos-kevent-edge-watch
feat(equeue): implement macOS edge watches
2026-11-03 02:39:21 +13:00
Dean 0278ca9831 Merge pull request #12202 from MarcZX10/fix/libkernel-argument-edge-cases
fix(libkernel): reject WaitSema above the semaphore maximum and msync lengths that wrap
2026-11-03 01:29:50 +13:00
Dean eeb3dfea52 Merge pull request #11849 from AlexFigas/fix/libkernel-guest-thread-x87-control-word
fix(libkernel): start guest threads with the x87 control word 0x037f
2026-11-03 01:27:12 +13:00
Dean 24238c4cb1 Merge pull request #15038 from xXPBSXx/docs-kernel-waiteventflag-args
docs(debt): say that sceKernelWaitEventFlag fails a zero pattern and a bad wait mode
2026-11-03 00:57:56 +13:00
bluandClaude Opus 5.5 dae55d9e12 Merge branch 'main' into refactor/siginterrupt-libc-internal
Resolves docs/dev/debt/libc.md: main's updated _Thrd entry, and siginterrupt stays documented in libSceLibcInternal.md.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 04:12:04 -07:00
xXPBSXxandClaude Sonnet 5.5 bea432e4cc docs(debt): give the stack bounds of sceCoredumpRegisterCoredumpHandler and what titles pass
The entry said that the stack bounds are recovered without naming them.
It now names the bounds and the errors, and what the direct calls of the
titles checked pass for the stack size.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-02 11:49:04 +01:00
GruzzberryandClaude Sonnet 5.5 0dd9641bab fix(libkernel): fail a vm.overcommit write with EPERM
vm.overcommit is a read-write sysctl without CTLFLAG_PRISON, so FreeBSD 11.4 sysctl_root asks priv_check for PRIV_SYSCTL_WRITE before the handler runs, and prison_priv_check denies it to a jailed root. Under the credential model agreed on #11216 a write through sysctlbyname now fails with EPERM, whatever the value or its length, instead of throwing.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-02 10:48:01 +00:00
Dean 9dc910f515 Merge pull request #11042 from EagleBearerYS/fix/count-throwing-done-net-kernel
fix: report five always-throwing network and kernel exports as not implemented
2026-11-02 23:26:36 +13:00
Dean 7ff86058fb Merge pull request #10789 from rooklz/feat/libkernel-umtx-umutex
feat(libkernel): implement the umutex, condition variable and rwlock _umtx_op operations as measured on a PS5
2026-11-02 23:26:14 +13:00
Dean 0ba2a2a124 Merge pull request #10810 from MarcZX10/marc/fix-thread-detached-race
fix(libkernel): read and write the detached state of a guest thread atomically
2026-11-02 23:24:31 +13:00