Commit Graph
1245 Commits
Author SHA1 Message Date
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
Dean GalvinandAlexej Szpevák f82fb8a9c9 fix(libkernel): carry cpuset base-set and level handling
Carry #7135 by @AlexOfTheForest. Preserve current checked guest-memory copies and unrelated debt; remove the ten newly added unsupported-call throw assertions while retaining implemented success and error coverage.

Co-authored-by: Alexej Szpevák <[email protected]>
2026-11-02 08:21:01 +13:00
Adrià ac26e59d9a Merge pull request #13901 from DeveshB-1/fix/stat-archived-efault
fix(libkernel): return EFAULT from stat for an unwritable buffer
2026-11-01 15:13:30 +01:00
Dean 929e8d8442 Merge pull request #7090 from milescoviello/feat/scm-rights
feat(libkernel): pass descriptors in SCM_RIGHTS messages on Unix sockets
2026-11-02 02:06:02 +13:00
Dean c51c471250 Merge pull request #12922 from ntamas94/fix/ps4-dir-blksize
fix(libkernel): report a 64 KiB st_blksize for directories
2026-11-02 00:25:59 +13:00
Adrià b2bcf569f7 Merge pull request #13904 from DeveshB-1/fix/memory-protection-query-efault
fix(libkernel): return EFAULT from memory protection and stack queries for invalid memory
2026-11-01 09:56:49 +01:00
Adrià 6c0bdd2014 Merge pull request #13908 from DeveshB-1/fix/cpuset-affinity-efault
fix(libkernel): return EFAULT from cpuset and pthread affinity for invalid memory
2026-11-01 09:55:39 +01:00
DeveshB-1 b5ffde4a0a fix(libkernel): return EFAULT from stat for an unwritable buffer 2026-11-01 14:18:08 +05:30
Adrià 90cc8d57a5 Merge pull request #13895 from Gruzzberry/fix/chflags-sysflags-eperm
fix(libkernel): fail chflags and fchflags with EPERM when a system flag changes
2026-11-01 09:10:40 +01:00
Adrià c2ba690bfc Merge pull request #13896 from Gruzzberry/fix/rtprio-jail
fix(libkernel): fail rtprio_thread, sched_setscheduler and setpriority with the jail privilege errors
2026-11-01 09:05:34 +01:00
Adrià eb5b2c13df Merge pull request #13876 from DeveshB-1/fix/convert-time-efault
fix(libkernel): return EFAULT from time conversions for unwritable stores
2026-11-01 08:35:50 +01:00
AdriàandClaude Sonnet 5.5 16135b4656 docs(libkernel): note EFAULT for invalid affinity mask pointers in debt
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 08:18:50 +01:00
AdriàandClaude Sonnet 5.5 3c5da23f30 fix(libkernel): document partial writes of memory protection queries
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 08:10:04 +01:00
AdriàandClaude Sonnet 5.5 97ff67b13d docs(libkernel): restore the measured text in the rtprio_thread and getpriority debt entries
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:56:54 +01:00
GruzzberryandClaude Sonnet 5.5 5ba892d391 fix(libkernel): fail rtprio_thread, sched_setscheduler and setpriority with the jail privilege errors
A title is jailed (agreed on #11216). FreeBSD 11.4 prison_priv_check denies
PRIV_SCHED_RTPRIO, PRIV_SCHED_SET and PRIV_SCHED_SETPRIORITY to a jailed caller.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:56:25 +01:00
ntamas94 249d8cc371 Merge remote-tracking branch 'origin/main' into fix/ps4-dir-blksize 2026-11-01 07:53:32 +01:00
GruzzberryandClaude Sonnet 5.5 2d1342cf31 fix(libkernel): fail chflags and fchflags with EPERM when a system flag changes
FreeBSD 11.4 ufs_setattr refuses a change of any SF_* flag to a caller without PRIV_VFS_SYSFLAGS, which prison_priv_check denies a jailed root without allow.chflags. Under the credential model agreed on #11216 every SF_* flag now fails with EPERM, after the EOPNOTSUPP check for unknown bits, instead of throwing.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:51:40 +01:00
Adrià 77d536fb38 Merge pull request #13892 from xXPBSXx/fu/q2-asan-enabled-debt
docs(debt): list sceKernelIsAddressSanitizerEnabled as a silent stub
2026-11-01 07:47:11 +01:00
Adrià c38befd221 docs(libkernel): record the EFAULT fallback of the time conversions 2026-11-01 07:36:05 +01:00
Adrià 4547df009b Merge pull request #13874 from DeveshB-1/fix/sysarch-efault
fix(libkernel): return EFAULT from sysarch for invalid memory pointers
2026-11-01 06:47:19 +01:00
Adrià f377753dd2 Merge pull request #13854 from DeveshB-1/fix/sysctlnametomib-efault
fix(libkernel): return EFAULT from sysctlnametomib for invalid memory pointers
2026-11-01 06:05:23 +01:00
AdriàandClaude Sonnet 5.5 e155b84101 docs(libkernel): record sysarch EFAULT for non-null invalid pointers as unmeasured
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 05:56:01 +01:00
Adrià 2e704e9d2e Merge pull request #13866 from xXPBSXx/docs/libkernel-munmap-unaligned
docs(libkernel): name what FreeBSD and the emulators do for an unaligned sceKernelMunmap length
2026-11-01 05:50:15 +01:00
Adrià 97ca8c8751 Merge pull request #13832 from zaryabzip/fix/pthread-cond-signalto-esrch
fix(libkernel): return ESRCH from signalto for a handle that is not a thread
2026-11-01 04:28:11 +01:00
Dean 90a01f0770 Merge pull request #13824 from zaryabzip/feat/sysutil-notification-with-text
feat(libSceSysUtil): send text notifications as firmware 13.42 does
2026-11-01 14:24:52 +13:00
Adrià 666d9b10a5 Merge pull request #13790 from DeveshB-1/fix/allowed-sdk-version-efault
fix(libkernel): return EFAULT from sceKernelGetAllowedSdkVersionOnSystem for an unwritable store
2026-11-01 02:23:24 +01:00
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à 386833e050 docs(libkernel): keep the full GetAllowedSdkVersionOnSystem debt entry and add the EFAULT note 2026-10-31 23:49:57 +01:00
DeveshB-1 dca2c61801 fix(libkernel): return EFAULT from sceKernelGetAllowedSdkVersionOnSystem for an unwritable store 2026-10-31 23:49:53 +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
xXPBSXxandClaude Sonnet 5.5 b70b9ca8a9 docs(libkernel): say where the sceKernelMunmap length 0 and unmapped results come from
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 12:54:14 +01:00
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
GruzzberryandClaude 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
GruzzberryandClaude 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
DeveshB-1 dd46d6ada3 fix(libkernel): return EFAULT from sysctlnametomib for invalid memory pointers 2026-10-31 15:02:53 +05:30
xXPBSXxandClaude Sonnet 5.5 d7ce0daa23 docs(libkernel): name what FreeBSD and the emulators do for an unaligned sceKernelMunmap length
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 09:54:16 +01:00
AdriàandClaude 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
akkadbakkad89andDevin 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
zaryabzip 0a5c3be283 fix(libkernel): return ESRCH from signalto for a handle that is not a thread
scePthreadCondSignalto and pthread_cond_signalto_np answered EPERM for a
handle that is not a live thread, where a PS5 on firmware 13.60 returns
ESRCH. The check sits between the null-thread and not-waiting checks, as
that console orders them.
2026-10-31 13:37:23 +05:00
zaryabzip 520a8249a3 feat(libSceSysUtil): send text notifications as firmware 13.42 does
sceSysUtilSendSystemNotificationWithText builds the 0xc30-byte request
the 13.42 library builds (kind 5, the type at +0xc, at most 179
characters of text at +0x2d, an empty text for a null message) and
returns what sceKernelSendNotificationRequest returns. That call now
prints kind 5 requests as it prints kind 0 ones.

Replaces #9081 by @shanu337.
2026-10-31 13:13:56 +05:00
xXPBSXxandClaude Sonnet 5.5 25f76ae98f docs(debt): list sceKernelIsAddressSanitizerEnabled as a silent stub
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 08:35:06 +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