Commit Graph
8863 Commits
Author SHA1 Message Date
Adrià e450145140 Merge pull request #13946 from BunnyFl/feat/vdec-sdec-version-1031
feat(vdec): write the software decoder version as firmware 13.42 does
2026-11-01 15:44:33 +01:00
Dean d94fad17de Merge pull request #8285 from DealPotato/feat/savedata-mount2
feat(savedata): add sceSaveDataMount2
2026-11-02 03:22:25 +13:00
Dean 4a027f138c Merge pull request #8250 from vittoriosalvadore/codex/fix-font-render-surface-stride
fix(libSceFont): accept overlapping render surface rows
2026-11-02 03:21:46 +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 74ca823ad8 Merge pull request #8140 from tv7/fix/table-callee-getpc
fix(shader): link table callees that read their program counter
2026-11-02 03:03:50 +13: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
Adrià 77008b2ecc Merge pull request #13934 from alfalfa-star/fix/audiodec-stereo-interleave-order
fix(libSceAudiodec): accept M4AAC surround interleave orders for stereo output
2026-11-01 13:53:47 +01:00
Dean b2620e56d1 Merge pull request #11733 from verusferro/feat/libc-wide-string-to-number
feat(libc): convert wide strings with _WStoull, _WStoll, _WStod, _WStof and _WStold as the console's libc does
2026-11-02 00:33:30 +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
Dean 4d58a666e9 Merge pull request #12892 from StoneDC/b41/wide-length-protected
test(libc): bound UTF-16 length scans with protected pages
2026-11-02 00:23:34 +13:00
Dean e1f46d1746 Merge pull request #12847 from edubox/feat/npcpp-activities
feat(libSceNpCppWebApi): bring up Activities V1 offline
2026-11-02 00:22:55 +13:00
Dean 4317481a47 Merge pull request #12825 from hypermoist/feat/np-util-jid
feat(libSceNpCommon): implement sceNpUtilParseJid and sceNpUtilJidToNpId
2026-11-02 00:22:13 +13:00
Dean 785ad26398 Merge pull request #12810 from BunnyFl/fix/convertkeycode-sdk-layouts
fix(libSceConvertKeycode): apply the SDK rules instead of throwing for layouts 31-39 and Y/Z
2026-11-02 00:19:47 +13:00
Dean e56c5c99f3 Merge pull request #12474 from milescoviello/fix/fcntl-host-descriptor
fix(libkernel): report a host-only descriptor as not open to fcntl and ioctl
2026-11-01 23:38:28 +13:00
Dean 8527dad32e Merge pull request #12332 from legendary-cookie/test/http2
test(libSceHttp2): cover sceHttp2SetRequestContentLength ids and deletion
2026-11-01 23:37:34 +13:00
Dean d5ec8e6575 Merge pull request #11854 from ionut27001/fix/wf-videoout-outputstatus-hdr-flags-zero
fix(videoout): report output status flags 0 with HDR output
2026-11-01 23:35:45 +13:00
Adrià 26fa1212b8 Merge pull request #13819 from Ninot1Quyi/fix/libc-nearbyint-inexact
fix(libc): match nearbyint inexact flags to guest libc
2026-11-01 09:56:57 +01: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à 5c9837bfe7 Merge pull request #13442 from Gonic0/feat/libc-write-watch-read-trap
feat(libc): trap guest reads of write-watched pages on macOS
2026-11-01 09:13:34 +01:00
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à 826fa5a594 Merge pull request #13822 from Scooooodoo/fix/posix-resolver-unspecified-socket-types
fix(libScePosixForWebKit): omit implicit raw resolver records
2026-11-01 09:05:23 +01:00
Adrià d9fd841be0 Merge pull request #13898 from zaryabzip/fix/cescs-cp1254-1258-holes
fix(libSceCesCs): refuse the Cp1254 and Cp1258 holes and UTF-32 surrogates as a PS5 does
2026-11-01 08:46:38 +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à 53fbe59956 Merge pull request #13732 from SnekPolylepis/feat/libc-radix64-conversions
feat(libc): implement a64l, l64a, and l64a_r radix-64 integer conversions
2026-11-01 08:30:07 +01:00
DeveshB-1 51bd568169 fix(libkernel): return EFAULT from cpuset and pthread affinity for invalid memory 2026-11-01 08:18:41 +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
DeveshB-1 2f29bda465 fix(libkernel): return EFAULT from memory protection and stack queries for invalid memory 2026-11-01 08:09:57 +01:00
ntamas94andClaude Opus 5.5 144d17f220 test(libkernel): compare a regular file's st_blksize to the host value
CopyNativeStat keeps the host block size for regular files on POSIX, so a
64 KiB host (ZFS, some network mounts) makes the st_blksize != 0x10000
assertion fail with correct production code. Compare against the host's
actual st_blksize (POSIX) or the 512 Windows convention, which still
catches an unconditional directory-size assignment spilling onto files.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 08:02:30 +01:00
Qu Yi 4a65ddf97c chore(libc): synchronize nearbyint fix with main
Preserve the nearbyint implementation and regression coverage while incorporating current main. The write-watch registration prerequisite is now part of main.

Validation: freshly compiled production MathExact.cpp regression passes; ASan/UBSan passes with detect_leaks=0. The same fixture compiles against main Math.cpp and fails at the FE_INEXACT assertion (exit 134). Conventions, whitespace and 235 script registrations pass. Full product build and full CTest were not rerun for this synchronization.
2026-11-01 14:56:40 +08: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
AdriàandClaude Sonnet 5.5 1f236c96f3 test(libkernel): drop UF_READONLY throw assertions from chflags tests
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:51:44 +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
Dean 0b2c52e9c2 Merge pull request #12597 from JJenkx/windows/libc-fopen-s-constraints
fix(libc): report fopen_s and freopen_s argument errors to the constraint handler
2026-11-01 19:48:43 +13:00
DeveshB-1 132b7bad73 fix(libkernel): return EFAULT from time conversions for unwritable stores 2026-11-01 07:36:05 +01:00
Dean 5f0857ee2e Merge pull request #12949 from fogydes/fix/spawn-null-process-id
fix(libSceLibcInternal): allow null process ID in posix_spawn
2026-11-01 19:35:53 +13:00
Nicolas GonzalezandClaude Opus 5.5 671c14acba fix(libc): bound untrapped read retries per untrap when the cache spills
The per-thread retry entries are a 64-entry cache. More threads faulting in
turn on a page whose protection does not explain the fault evict each
other's entries before their next attempt, so each count restarted at 1 and
the faults were retried forever. Retries between two untraps are now also
counted in total, up to 64 times the per-thread budget.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 07:33:03 +01:00
Nicolas GonzalezandClaude Opus 5.5 fb1f80fb38 feat(libc): make a read trap of an already trapped range a no-op
A caller that traps the same range at every label then needs no record of
its own of which ranges are trapped, which registering memory again could
leave stale.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 07:33:03 +01:00
Nicolas GonzalezandClaude Opus 5.5 586445642d fix(libc): count retries of untrapped read faults per thread
A fault that reaches the handler after its page was given back is retried.
The budget for that was shared by every thread faulting on the page, so the
17th delayed reader of one untrap was passed on as a crash. Each thread now
has its own budget per page and untrap, which still bounds a fault the page's
protection does not explain.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 07:33:02 +01:00
Nicolas GonzalezandClaude Opus 5.5 6b16f90d5a feat(libc): trap guest reads of write-watched pages on macOS
GuestWriteWatchTrapReads takes all access to the pages of a range until
the resolver set with GuestWriteWatchSetReadTrapResolver has run for it.
A fault on a trapped page waits while the resolver runs on the watch's
own thread; host writes and GuestWriteWatchProtect run it first on the
calling thread. Collections keep trapped pages inaccessible, and
registering or unregistering memory drops its traps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 07:33:02 +01:00
Dean ce2f90e5a4 Merge pull request #14222 from zaryabzip/feat/voice-adjust-qa-customer-memory
feat(libSceVoice): answer the adjustment, QA recording, customer data and memory size calls as firmware 13.42 does
2026-11-01 19:27:41 +13:00
Dean 9f6d3b910c Merge pull request #7202 from MarcZX10/codex/lstat-long-windows-path-7201
fix(libkernel): support lstat on long Windows paths
2026-11-01 19:19:37 +13:00
Dean db8825e4b6 Merge pull request #7938 from JJenkx/perf/guest-arena-prefix
perf(libc): skip the known occupied guest arena prefix
2026-11-01 19:17:49 +13:00
Dean 803889adab Merge pull request #8937 from UnhealthyKraken/feat/libc-fesetenv
feat(libc): implement fesetenv
2026-11-01 19:16:41 +13:00
Beckett Egge 7fe64b1c04 fix(posix): resolve concrete Windows transport types 2026-11-01 05:55:04 +00:00
Beckett Egge 4d613112d8 fix(libScePosixForWebKit): omit implicit raw resolver records 2026-11-01 05:55:04 +00:00
Adrià 3ee28266a3 Merge pull request #13783 from Gonic0/perf/libc-write-watch-fault-ahead
perf(libc): unprotect the rest of the 64 KiB block after a sequential write fault on macOS
2026-11-01 06:52:17 +01:00