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
Dean
5722c14bd5
Merge pull request #6830 from ErenYeager1836/feat/libSceDbgThreadSanitizer-noop-stubs
...
feat(libSceDbgThreadSanitizer): add no-op implementations for __tsan_acquire and __tsan_release
2026-11-01 13:18:36 +13: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à
3f6c712b77
Merge pull request #13746 from Gruzzberry/fix/prot-group-pgid-errnos
...
fix(libkernel): match FreeBSD 11.4 getgroups size and setgroups limit
2026-11-01 00:53:56 +01:00
Adrià
c21eb9a4d0
Merge pull request #13742 from Gruzzberry/fix/socketpair-efault
...
fix(libkernel): fail socketpair with EFAULT on an unusable result pointer
2026-10-31 22:42:51 +01:00
Adrià
05ff2857e6
Merge pull request #13710 from dantdmdarealguy/agent/cifails4
...
test(libkernel): run guest_timed_wait_cpu alone on Windows
2026-10-31 22:38:42 +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
Adrià
bdabbb8415
Merge pull request #13668 from notHaze/fix/libkernel-close-observer-init
...
fix(libkernel): initialize close observer registry on first use
2026-10-31 12:51:49 +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
0d2ae1a300
fix(libkernel): release both socketpair descriptors when the copyout or registration throws
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 11:43:00 +00:00
Gruzzberry and Claude Sonnet 5.5
6f42ff85b5
fix(libkernel): fail socketpair with EFAULT on an unusable result pointer
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 11:31:59 +00: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
028b2b5336
fix(libkernel): fail poll with EINVAL when nfds exceeds the descriptor limit
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 11:16:10 +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
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
16b53200f3
fix(libkernel): preserve caller errno across sceKernelGetAppInfo guest memory write
2026-10-31 12:58:28 +05:30
pushkarreddyy
d60500a34b
fix(libkernel): return EFAULT from sceKernelGetAppInfo for invalid memory pointers
2026-10-31 12:52:31 +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
8c4cdf84a2
test(libkernel): count the yields a woken condition variable wait makes
...
The mutex yield step counts each yield in a counter that
MutexYieldsForTest_nid_no_patch reads. With no spins and a yield count
of 5, a waiter woken while another thread holds its mutex must yield
exactly 5 times before it blocks, for each mutex type and for the outer
level of a recursive mutex held twice. With WakingLock::lock calling
the native lock directly the count stays 0 and the test aborts.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-30 23:37:35 -04:00
Gruzzberry and Claude Sonnet 5.5
6787b7fa8d
fix(libkernel): match FreeBSD 11.4 getgroups size and setgroups limit
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-31 03:18:40 +00: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
ba6940814e
fix(libkernel): preserve errno across checked copies in sigwait
2026-10-31 08:16:23 +05:30
pushkarreddyy
9c5495b9e5
fix(libkernel): return EFAULT from sigtimedwait, sigwaitinfo and sigwait for invalid memory
2026-10-31 08:16:22 +05:30
pushkarreddyy
6c56fd9060
fix(libkernel): return EFAULT from flexible memory queries and PRT aperture for invalid memory
2026-10-31 08:15:41 +05:30
pushkarreddyy
9e915f9b62
fix(libkernel): return EFAULT from direct memory queries for invalid memory pointers
2026-10-31 08:14:53 +05:30
pushkarreddyy
ce1c353f07
fix(libkernel): preserve errno and revert SetLogin in getlogin_r
2026-10-31 08:14:24 +05:30
pushkarreddyy
b39c154ed2
fix(libkernel): return EFAULT from getlogin_r and SetLogin for invalid memory pointers
2026-10-31 08:14:24 +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
1aae106249
fix(libkernel): return EFAULT from system version queries for invalid memory
2026-10-31 07:53:47 +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
dantdmdarealguy
a0e3da6c49
test(libkernel): run guest_timed_wait_cpu alone on Windows
...
guest_timed_wait_cpu aborts on the Windows CI runner after printing the
scePthreadCondTimedwait(500 us) CPU line (job 124274871982, main
37277ea18f ). The test requires the 99th percentile of each set of waits
under 3 ms and the longest under 10 ms. ctest runs it with --parallel 4
beside tests such as guest_usb_storage, guest_nanosleep_long_request and
the guest_raise tests. Their threads keep the runner's CPUs busy, so a
woken waiter can wait more than a scheduler quantum before it runs: a
failing run measured a 13.25 ms condition wait and a 23.3 ms usleep.
The test now runs with RUN_SERIAL on Windows, as guest_pthread_start and
audio_out2_timing do. The bounds are unchanged.
2026-10-30 20:37:16 -05:00
Florent Combet
a6fd9994f7
fix(libkernel): keep close observer registry alive through exit
2026-10-31 02:26:40 +01:00
pushkarreddyy
a68bdf41b9
fix(libkernel): return EFAULT from page table and trace memory stats for invalid memory
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
ed0892da42
fix(libkernel): return EFAULT from sendfile for invalid memory pointers
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
Florent Combet
1caa5a7cab
fix(libkernel): initialize close observer registry on first use
2026-10-30 23:18:28 +01:00
boykopovar
7fcab08f71
Merge pull request #13645 from boykopovar/fix/exception-delivery-race
...
fix(libkernel): exception delivery race
2026-10-31 01:18:00 +03: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à
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