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 Galvin and Alexej 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à and Claude 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à and Claude 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à and Claude 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
Gruzzberry and Claude 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
Gruzzberry and Claude 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à and Claude 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
xXPBSXx and Claude 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
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
DeveshB-1
dd46d6ada3
fix(libkernel): return EFAULT from sysctlnametomib for invalid memory pointers
2026-10-31 15:02:53 +05:30
xXPBSXx and Claude 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à 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
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
xXPBSXx and Claude 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