Commit Graph
20967 Commits
Author SHA1 Message Date
Ondra97 7a0dfeb79c test(http2): link teardown fixture with Windows sockets 2026-10-27 08:58:57 +01:00
slopgobblercobbler 5bb4711bb8 fix(libSceSaveData.native): return SAVE_DATA_ERROR_PARAMETER on null argument in sceSaveDataConvert 2026-10-27 08:57:14 +01:00
Adrià 12686b52de Merge pull request #11060 from pushkarreddyy/fix/libkernel-writev-append-efault
fix(libkernel): return EFAULT for unreadable append iovec buffers on Windows
2026-10-27 08:56:20 +01:00
Dean Galvin 70b3dc8467 merge: main into feat/libscelibressl-x509-store-ctx-error 2026-10-27 20:55:58 +13:00
Adrià 83370fe136 Merge pull request #11065 from morten-holm/fix/agc-mesh-limit-details
fix(agc): name the mesh limit a pipeline exceeds and its values
2026-10-27 08:54:07 +01:00
StoneDC 4b102f0603 fix(tools): enforce validation gate test timeout limits 2026-10-27 15:53:42 +08:00
xXPBSXxandClaude Sonnet 5.5 d6ec92312c test(libkernel): cover pthread_setspecific and pthread_getspecific
pthread_setspecific returns an errno value, unlike the Sce function it wraps,
and neither POSIX export had a test. Check the FreeBSD 11.4 results of
_pthread_setspecific and _pthread_getspecific (lib/libthr/thread/thr_spec.c
lines 165-194 and 196-222): a key outside the valid range or a deleted key
makes setspecific return EINVAL (22), getspecific returns NULL for such a key
and for a key never set, a stored value is read back, NULL can be stored, a
new key with a reused number starts empty, and another thread has its own
value.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 08:53:33 +01:00
Dean a5fea6f5c4 Merge pull request #9449 from SnekPolylepis/feat/verified-system-export-declarations
feat(prx): declare 252 verified missing system exports
2026-10-27 20:53:30 +13:00
Dean fedb323a30 Merge pull request #10698 from MarcZX10/marc/signatures-libscenpwebapi
feat(libSceNpWebApi): declare two stubs with shadPS4's signatures
2026-10-27 20:53:16 +13:00
Dean 619ac3c2b6 Merge pull request #10467 from MarcZX10/fix/libc-tgammaf-underflow-sign
fix(libc): preserve tgammaf underflow sign
2026-10-27 20:53:02 +13:00
Dean cf652ca76e Merge pull request #10398 from alvaroelpob/feat/libscelibressl-evp-pkey-type
feat(libSceLibreSsl): implement EVP_PKEY_type
2026-10-27 20:52:31 +13:00
Dean 2f0a0071f5 Merge pull request #10251 from orezraey/docs/libc-fopen-directory-measured-ps5
docs(libc): record fopen and freopen of directories as measured on a PS5
2026-10-27 20:52:15 +13:00
StoneDC 54a8d7c411 fix(tools): report the input mapper listening port 2026-10-27 15:50:18 +08:00
StoneDC b090ce8004 fix(tools): recognize trailing return export definitions 2026-10-27 15:50:17 +08:00
StoneDC b5ab136f4b fix(web): validate every memory estimate input 2026-10-27 15:50:15 +08:00
StoneDC baa492dcc9 fix(tools): preserve configure seeds when writing fails 2026-10-27 15:50:13 +08:00
Ondra97 422ce09841 test(http2): disarm allocation fault before throwing 2026-10-27 08:49:09 +01:00
Ondra97 251107d1eb fix(http2): keep teardown consistent under allocation failure 2026-10-27 08:49:08 +01:00
Jota 244ac01a54 test(libc): compile the contraction probe for the macOS build architecture 2026-10-27 04:47:33 -03:00
Adrià b87d3d87e2 Merge pull request #11080 from slopgobblercobbler/fix/savedata-ps4-null-argument-validation
fix(libSceSaveData.native): validate null arguments in sceSaveDataDirNameSearchPs4 and sceSaveDataMount
2026-10-27 08:46:03 +01:00
milescoviello 03ce876c46 Merge remote-tracking branch 'upstream/main' into docs/entitlement-key-call-sites
# Conflicts:
#	docs/dev/debt/libSceNpEntitlementAccess.md
2026-10-27 07:45:25 +00:00
Adrià FranchandClaude Sonnet 5.5 c8cac8e090 fix(libkernel): initialise the CPU model before reading AVX support for guest TLS
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 08:42:09 +01:00
Emanueleandmugurc 86cdfb8647 feat(libkernel): thread-local storage for Mach-O guests
FreeBSD code reaches its thread pointer through %fs and macOS cannot set
the fs base. The macOS relinker turns each %fs access of a guest image
into a stub that reads the thread pointer from a pthread key and calls
Aps5GuestTlsAllocate on a thread's first access, registers the TLS
descriptor of an image with Aps5GuestTlsRegister, and routes
__tls_get_addr to Aps5GuestTlsGetAddr. No library provided them, so a
relinked executable could not start.

- Aps5GuestTlsRegister validates the descriptor the relinker wrote and
  creates the key; its destructor frees the block of a thread.
- Aps5GuestTlsAllocateThreadPointer allocates the block (the TLS template
  followed by zeros, then a 0x100-byte thread control block whose first
  word points at itself, as on FreeBSD) and stores the thread pointer
  under the key.
- Aps5GuestTlsAllocate is the entry the stubs call: rax holds the
  descriptor and returns the thread pointer, every other register is
  preserved, the upper halves of the ymm registers only where AVX exists.
- Aps5GuestTlsGetAddr returns the block of the thread plus the offset.

Co-authored-by: mugurc <[email protected]>
2026-10-27 08:42:04 +01:00
Adrià ea048ce2c3 Merge pull request #11033 from mzaeemnasir/fix/relinker-collector-signed-branch-target
fix(relinker): collect reachable branch targets without signed overflow
2026-10-27 08:40:36 +01:00
Adrià dd6d71ba13 Merge pull request #11050 from harisibrar1/feat/libressl-asn1-string-to-utf8
feat(libSceLibreSsl): report ASN1_STRING_to_UTF8 errors through the ASN.1 error queue
2026-10-27 08:38:38 +01:00
Adrià e5779c0a84 Merge pull request #10790 from leorossi2005/feat/netctl-get-nat-info
feat(libSceNetCtl): implement sceNetCtlGetNatInfo
2026-10-27 08:38:33 +01:00
milescovielloandClaude Opus 5.5 3383555532 test(agc): check the packets sceAgcDcbGetLodStats writes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 07:36:48 +00:00
Hedi Trigui 3841816986 test(libSceGameCustomDataDialog): cover post-terminate argument validation 2026-10-27 08:35:17 +01:00
Hedi Trigui 960a96ebc4 test(libSceNpAuthAuthorizedAppDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:21 +01:00
Hedi Trigui 7480f9ed16 test(libSceNetCtlApDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:19 +01:00
Hedi Trigui 5cceb6c60c test(libSceCdlgPlayerReview): cover post-terminate argument validation 2026-10-27 08:34:16 +01:00
Hedi Trigui 340ab9f970 test(libSceNpSnsFacebookDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:14 +01:00
Hedi Trigui b3084879ea test(libSceNpFriendListDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:12 +01:00
Hedi Trigui 7c105a907e test(libSceCdlgG2P): cover post-terminate argument validation 2026-10-27 08:34:10 +01:00
Hedi Trigui 50814153e9 test(libSceSigninDialog): cover post-terminate argument validation 2026-10-27 08:34:08 +01:00
Hedi Trigui 9267414d77 test(libSceVrServiceDialog): cover post-terminate null argument validation 2026-10-27 08:34:03 +01:00
Hedi Trigui 95be7bc016 test(libSceLoginDialog): cover post-terminate null and uninitialized argument validation 2026-10-27 08:34:00 +01:00
Hedi Trigui 658f048215 test(libSceSocialScreenDialog): cover post-terminate null argument validation 2026-10-27 08:33:58 +01:00
Hedi Trigui e2ed742187 test(libSceWebBrowserDialog): cover uninitialized and terminated argument validation 2026-10-27 08:33:55 +01:00
Hedi Trigui 0cef3f2546 test(libSceVrSetupDialog): cover uninitialized and terminated argument validation 2026-10-27 08:33:52 +01:00
Hedi Trigui ffdf85b2eb test(libSceHmdSetupDialog): cover uninitialized and terminated null argument handling 2026-10-27 08:33:50 +01:00
Hedi Trigui f2f35b5028 test(libSceUsbStorageDialog): cover uninitialized and terminated null argument validation 2026-10-27 08:33:48 +01:00
Dean Galvin 1affd8f731 fix(libSceFreeTypeOl): drop the exports open pull requests already implement
Remove 32 stubs whose NIDs are implemented by other open pull requests
(FreeType functions in #9398 #9399 #9404 #9410 #9465 #9588 #9792 #9924 #9933
#10579 #10588 #10591 #10600 #10601 #10602 #10606 #10613 #10616 #10897) and
correct the count in the debt entry.
2026-10-27 20:33:45 +13:00
Hedi Trigui 86d1ba99a1 test(libScePlayerSelectionDialog): cover uninitialized and terminated argument validation 2026-10-27 08:33:45 +01:00
Hedi Trigui 15436ac490 test(libScePlayGoDialog): cover uninitialized and finished dialog calls 2026-10-27 08:32:56 +01:00
Dean Galvin f407d1bd2b fix(libSceIcu): drop the stubs open PRs implement
Remove the 36 stubs whose NIDs open PRs #10962-#10967, #11115, #11118, #11122, #11132 and #11136 add to libSceIcu, leaving 112.
2026-10-27 20:32:39 +13:00
Hedi Trigui 791a2db6bd test(libSceMsgDialog.native): cover uninitialized and finished null argument validation 2026-10-27 08:31:51 +01:00
JaceTheBluandClaude Opus 5.5 397b8d6a1b test(libSceLibreSsl): prime the unwinder before counting object text blocks
On Linux the first exception the allocation test throws goes through
libc's unwinder, which caches two frame descriptions with operator new
for the rest of the process. The test counted them as blocks leaked by
i2t_ASN1_OBJECT and failed every fault case. A first failing conversion
now runs before the counted cases, and the blocks it leaves are not
tracked. Against the head before the allocation fix the test still
reports the escaped exceptions.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 08:30:25 +01:00
thepoppfish 17693e0e00 fix(libSceLibreSsl): handle object text allocation failures 2026-10-27 08:30:25 +01:00
JaceTheBluandClaude Opus 5.5 c6522d4bce feat(libSceLibreSsl): add the LibreSSL object table and implement i2t_ASN1_OBJECT
i2t_ASN1_OBJECT threw and was declared without parameters. It now
prints an object's long name, or its short name, or its dotted OID, as
OBJ_obj2txt does in LibreSSL 2.5.4, the version string the module
holds: the NID is the object's own or found by the same binary search
over the same order, an unassigned NID reports OBJ_R_UNKNOWN_NID for
each name lookup, a truncated subidentifier returns 0 after the parts
already written, and arcs past 64 bits are printed exactly.

The 956 objects (short and long names, NID, OID) and their search order
are generated from 2.5.4's objects.txt and obj_mac.num with its own
objects.pl and obj_dat.pl, so d2i code can later hand out the same
static objects LibreSSL does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 08:30:25 +01:00