Adrià
cd35d6103a
Merge pull request #13798 from pushkarreddyy/fix/app-info-efault
...
fix(libkernel): return EFAULT from sceKernelGetAppInfo for invalid memory pointers
2026-11-01 02:22:03 +01:00
Adrià
cae3edaf11
Merge pull request #13738 from Gruzzberry/fix/poll-efault
...
fix(libkernel): fail poll with EINVAL when nfds exceeds the descriptor limit
2026-11-01 01:40:45 +01:00
Adrià
8bf03654ed
Merge pull request #13769 from Flamefusion/feat/libkernel-has-trinity-mode
...
feat(libkernel): implement sceKernelHasTrinityMode for a base PS5
2026-11-01 00:54:50 +01:00
Adrià
577fe6329e
Merge pull request #13756 from Gruzzberry/fix/recvfrom-sendto-efault
...
fix(libkernel): fail sendto and recvfrom with EFAULT on an unusable pointer
2026-11-01 00:54:10 +01:00
Adrià
cac9da41e4
Merge pull request #13725 from cocoa55/fix/cond-relock-spin
...
fix(libkernel): spin and yield when a condition variable wait relocks its mutex
2026-10-31 22:20:43 +01:00
pushkarreddyy
d700a92a3a
docs(libkernel): record errno preservation and restore original debt detail for sceKernelGetAppInfo
2026-10-31 18:23:51 +05:30
Adrià
e23eea90e2
Merge pull request #13660 from w4rc0n/fix/sched-own-pid-main-thread
...
fix(libkernel): select the registered main thread for own-pid scheduling
2026-10-31 12:45:48 +01:00
Gruzzberry and Claude Sonnet 5.5
ba9200abc0
fix(libkernel): fail poll with ENOMEM when the descriptor copy cannot be allocated
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 11:16:20 +00:00
Gruzzberry and Claude Sonnet 5.5
736f3c9d41
fix(libkernel): fail sendto and recvfrom with EFAULT on an unusable pointer
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 11:06:56 +00:00
Adrià and Claude Sonnet 5.5
e5f5e36f09
docs(libkernel): restore unrelated debt entries dropped by a stale branch
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 09:47:05 +01:00
akkadbakkad89 and Devin
58295ef071
fix(libkernel): accept semaphore attribute bits 0x100 to 0x102
...
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-31 09:47:05 +01:00
pushkarreddyy
b25d10ddf1
docs(libkernel): record unwritable store fallback for sceKernelGetAppInfo
2026-10-31 12:52:31 +05:30
Adrià
686299faa7
Merge pull request #13598 from MarcZX10/docs/debt-D14-1
...
docs(libkernel): sysctlnametomib returns ENOENT for four unanswered sysctl names
2026-10-31 07:42:21 +01:00
Flamefusion
2c540ba9d8
docs(libkernel): credit only OpenAGC with the sceKernelHasTrinityMode test
...
Backport's FINDINGS.md says sceKernelHasTrinityMode reads
hw.sce_main_socid; the masked comparison with 0x840fc0 it states is for
sceKernelIsTrinityMode. Only OpenAGC gives that comparison for
sceKernelHasTrinityMode, so the debt entry now credits Backport with the
sysctl read alone.
2026-10-31 11:16:52 +05:30
Flamefusion
7b477b6d66
feat(libkernel): implement sceKernelHasTrinityMode for a base PS5
...
sceKernelHasTrinityMode returns 0, the answer of a base PS5, as
sceKernelIsTrinityMode already does. Two public readings of firmware
libkernel (OpenAGC for 11.60, Backport for 11.00 to 12.70) say it
compares hw.sce_main_socid with its low five bits cleared against
0x840fc0; the base PS5 SoC id recorded for sceKernelGetMainSocId,
0x840f80, fails that test. The prototype int (void) comes from the 23
calls in a UE5 title, each storing setne of the result in a guarded
static with no argument set up.
Titles import it from libkernel, but only the libkernel_sys placeholder
inventory exported it, as a throwing stub. The export moves to libkernel
next to sceKernelIsTrinityMode, and the inventory and its counts drop
the entry. guest_operation_mode checks the result.
2026-10-31 10:42:24 +05:30
Adrià
0835ec8bdc
Merge pull request #13576 from pushkarreddyy/fix/direct-memory-queries-efault
...
fix(libkernel): return EFAULT from direct memory queries for invalid memory pointers
2026-10-31 05:15:50 +01:00
Adrià
696215b704
Merge pull request #13556 from pushkarreddyy/fix/flexible-memory-queries-efault
...
fix(libkernel): return EFAULT from flexible memory queries and PRT aperture for invalid memory
2026-10-31 05:14:45 +01:00
Adrià
d4627bad7b
Merge pull request #13552 from pushkarreddyy/fix/system-version-efault
...
fix(libkernel): return EFAULT from system version queries for invalid memory
2026-10-31 05:10:40 +01:00
Adrià
69c43dd403
Merge pull request #13577 from pushkarreddyy/fix/login-efault
...
fix(libkernel): return EFAULT from getlogin_r and SetLogin for invalid memory pointers
2026-10-31 05:08:35 +01:00
cocoa55 and Claude Opus 5.5
16375634e3
fix(libkernel): spin and yield when a condition variable wait relocks its mutex
...
FreeBSD 11.4's _mutex_cv_lock takes the mutex back through
mutex_lock_common, so a woken waiter tries once, spins and yields by
the mutex's counts before it blocks. The wait here called the native
lock directly; it now goes through the same spin and yield path as
scePthreadMutexLock.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-30 22:47:35 -04:00
pushkarreddyy
7923458a2b
docs(libkernel): clarify signal wait debt contract per libthr and kernel
2026-10-31 08:16:23 +05:30
pushkarreddyy
76c0194553
docs(libkernel): record signal wait memory validation contract
2026-10-31 08:16:23 +05:30
pushkarreddyy
9c2a80ad0e
docs(libkernel): record sequential write behavior in sceKernelGetPrtAperture
2026-10-31 08:15:41 +05:30
pushkarreddyy
1d14e08e6d
docs(libkernel): record flexible memory queries and PRT aperture memory validation contract
2026-10-31 08:15:41 +05:30
pushkarreddyy
f0879516b8
docs(libkernel): document direct memory query destination copyout fallbacks
2026-10-31 08:14:53 +05:30
pushkarreddyy
c4236a6594
docs(libkernel): clarify getlogin_r and setlogin debt notes
2026-10-31 08:14:25 +05:30
pushkarreddyy
5649f9ec92
docs(libkernel): document getlogin_r and setlogin pointer fault behavior
2026-10-31 08:14:24 +05:30
pushkarreddyy
05735027f8
docs(libkernel): keep system version queries debt entries within limit
2026-10-31 07:58:08 +05:30
Adrià and Claude Sonnet 5.5
5c0646737d
fix(libkernel): write only the version fields and keep errno in system version queries
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 07:55:32 +05:30
pushkarreddyy
4a9bb50ff0
docs(libkernel): record system version queries memory validation contract
2026-10-31 07:55:08 +05:30
Adrià
9eca75175e
Merge pull request #13545 from pushkarreddyy/fix/page-table-stats-efault
...
fix(libkernel): return EFAULT from page table and trace memory stats for invalid memory
2026-10-31 03:16:52 +01:00
Adrià
4b7af94e1d
Merge pull request #13537 from pushkarreddyy/fix/sendfile-efault
...
fix(libkernel): return EFAULT from sendfile for invalid memory pointers
2026-10-31 03:00:47 +01:00
Adrià
41d0d902cc
Merge pull request #13532 from relativespace2K/feat/libkernel-kern-proc-proc
...
feat(libkernel): answer kern.proc.proc with the calling process
2026-10-31 02:57:46 +01:00
Adrià
da88f4489a
Merge pull request #13544 from cocoa55/fix/mutex-spin-yield-loops
...
fix(libkernel): spin and yield by the mutex spin and yield loop counts
2026-10-31 02:57:38 +01:00
Adrià and Claude Sonnet 5.5
4f34341268
docs(libkernel): say the trace memory stats EFAULT is a host answer, not the firmware's
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 02:24:41 +01:00
pushkarreddyy
ba2ac8c20e
docs(libkernel): record page table and trace memory stats memory validation contract
2026-10-31 02:24:36 +01:00
Adrià
a46b04dfe1
fix(libkernel): ignore unwritable sbytes in sendfile and bound iovec allocation
2026-10-31 02:16:45 +01:00
pushkarreddyy
2c0987cea3
docs(libkernel): record sendfile memory validation contract
2026-10-31 02:16:33 +01:00
infra-rig
5090bcd175
fix(libkernel): select the registered main thread for own-pid scheduling
...
sched_getparam, sched_getscheduler and sched_setparam with the own pid
from a thread other than the main thread act on the main thread once it
has registered through scePthreadSelf, as FreeBSD's p1003_1b.c selects
the first thread. Before registration, after the main thread exits and
on macOS they still throw.
2026-10-30 16:35:04 -06:00
Adrià
9605300f29
Merge pull request #13503 from Oscar45397/fix/libkernel-map-unallocated-direct-memory
...
fix(libkernel): return ENOMEM when mapping unallocated direct memory
2026-10-30 22:56:33 +01:00
Adrià
48773cf610
Merge pull request #13443 from DeveshB-1/fix/write-throttling-efault
...
fix(libkernel): return EFAULT from sceKernelWriteThrottlingStatus for an unwritable store
2026-10-30 22:48:12 +01:00
Adrià
0399b0a2c9
Merge pull request #13487 from BunnyFl/feat/libkernel-amm-remaining
...
feat(libkernel_sys): add the remaining AMM command writers
2026-10-30 22:41:55 +01:00
Adrià
db8f5671ab
Merge pull request #13444 from DeveshB-1/fix/thermal-sensors-efault
...
fix(libkernel): return EFAULT from thermal sensor queries for unwritable stores
2026-10-30 22:18:45 +01:00
mrph28
3b379b4435
feat(libkernel): answer kern.proc.proc with the calling process
...
MihawkOS (PPSA99170) reads sysctl {1, 14, 8, 0} while it starts and the
runtime throws on the unsupported MIB, which aborts the title.
KERN_PROC_PROC takes no pid, so the node lists the one guest process the
runtime hosts, as the same kinfo_proc kern.proc.pid already builds.
AI-assisted: yes
2026-10-30 18:06:58 -03:00
Adrià
7ad4f3bb9f
Merge pull request #12986 from Oscar45397/test/libkernel-virtual-range-name
...
fix(libkernel): return EFAULT for a null virtual range name
2026-10-30 21:23:57 +01:00
Adrià
c0fb4a6aad
Merge pull request #13411 from DeveshB-1/fix/uuid-create-efault
...
fix(libkernel): return EFAULT from sceKernelUuidCreate and sceKernelCreateUuidV4 for unwritable stores
2026-10-30 21:14:40 +01:00
Adrià and Claude Sonnet 5.5
a667bc4a7a
fix(libkernel): keep unwritable-output checks to hosts with a sensor, restore measured debt detail
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-30 20:51:20 +01:00
DeveshB-1
84e493242f
fix(libkernel): return EFAULT from thermal sensor queries for unwritable stores
2026-10-30 20:51:08 +01:00
MarcZX10
03a4bd851e
docs(libkernel): sysctlnametomib returns ENOENT for kern.smp.maxcpus, kern.stackprot, kern.sched.name and kern.timecounter.hardware
...
Old claim (entry 155 of docs/dev/debt/libkernel.md, second half): sysctlnametomib still throws for these four names.
What the code does: these names are only in IsUnansweredName, which the read path of sysctl uses. sysctlnametomib does not match them in TopLevelNode, its known-name table or its SystemStrings and SystemIntegers tables, so it reaches the final fall-through, sets errno to 2 (ENOENT) and returns -1 without throwing.
Permalinks at 50843f45d9 :
- https://github.com/boykopovar/AnyPS5/blob/50843f45d95b60e5772f4396431f9a39b8709d72/core/libs/prx/libkernel/System/src/SystemConfiguration.cpp#L755 (sysctlnametomib)
- https://github.com/boykopovar/AnyPS5/blob/50843f45d95b60e5772f4396431f9a39b8709d72/core/libs/prx/libkernel/System/src/SystemConfiguration.cpp#L808-L809 (fall-through, ENOENT)
- https://github.com/boykopovar/AnyPS5/blob/50843f45d95b60e5772f4396431f9a39b8709d72/core/libs/prx/libkernel/System/src/SystemConfiguration.cpp#L272-L274 (names in the unanswered list)
2026-10-30 18:52:29 +00:00
cocoa55 and Claude Opus 5.5
9a7acb3677
fix(libkernel): spin and yield by the mutex spin and yield loop counts
...
Lock and timed lock now try the mutex up to the spin count with a pause
between tries, then up to the yield count with a yield before each try,
before they block, as FreeBSD 11.4's mutex_lock_sleep does. Trylock and
a lock the thread already holds do not spin. A uniprocessor host skips
the spins and keeps the yields.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-30 13:56:31 -04:00