Dean
0a15ebf864
Merge pull request #12149 from AlexFigas/feat/libc-underscore-setjmp
...
feat(libc): export _setjmp and _longjmp
2026-11-04 18:34:14 +13:00
Dean
b593093818
Merge pull request #12146 from AlexFigas/feat/libc-shared-mutex
...
feat(libc): implement the _Smtx shared mutex calls over libkernel's rwlocks
2026-11-04 18:34:09 +13:00
Dean
5924ecf2df
Merge pull request #7156 from Amoenus/codex/fix-wait-trace-empty-main47
...
fix(libkernel): omit inactive wait trace sites
2026-11-04 16:58:26 +13:00
Dean
beb03a06a1
Merge pull request #15436 from JJenkx/fix/linux-main-stack-adopted-attributes-20261103
...
fix(libkernel): refresh adopted thread bounds when entering the main stack
2026-11-04 08:13:16 +13:00
Dean
723ee06871
Merge pull request #14799 from chitters2004/perf/guarded-committed-read
...
perf(agc): read committed guest pages directly on Windows
2026-11-04 08:10:59 +13:00
Dean
31ab214934
Merge pull request #11002 from SandstromPL/fix/libkernel-guest-sigpipe
...
fix(libkernel): let a guest ignore or catch SIGPIPE on Linux
2026-11-04 05:43:27 +13:00
JJenkx
4199ddb205
fix(libkernel): refresh adopted thread bounds when entering the main stack
2026-11-03 04:32:26 -05:00
Dean
4f41f4c375
Merge pull request #15210 from Danigamer05/feat/libc-sce-v2-filesystem-calls-20261102
...
feat(libc): export the std::__sce_v2 filesystem calls
2026-11-03 21:12:18 +13:00
Dean
206e72c90b
Merge pull request #15137 from pushkarreddyy/feat/libkernel-sandbox-app0-alias
...
feat(libkernel): alias title sandbox app0 path to application directory
2026-11-03 21:11:30 +13:00
Dean
805ce107ba
Merge pull request #15109 from imellag/fix/libkernel-condition-clock-atomic-ref
...
fix(libkernel): read the condition clock through a non-const atomic_ref
2026-11-03 21:11:20 +13:00
Dean
8b82678900
Merge pull request #10025 from mehmetbayoglu/fix/libkernel-amm-prt-zero-page
...
fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
2026-11-03 21:09:48 +13:00
Dean
91ca312437
Merge pull request #9242 from DavidSamir/feat/libkernel-sys-tcgetsid
...
feat(libkernel): implement tcgetsid
2026-11-03 21:09:31 +13:00
Dean
a74a4c370c
Merge pull request #14310 from XatiX/fix/libkernel-net-socket-forwards
...
fix(libkernel): forward socket calls on sceNetSocket descriptors to libSceNet
2026-11-03 21:08:43 +13:00
Dean
8835460b5e
Merge pull request #7532 from hugodearaujo/fix/linux-guest-main-stack
...
fix(linux): enter the guest entry on a main stack at the console's address
2026-11-03 21:07:51 +13:00
Dean Galvin
a39b825599
Merge commit 'd1ae628bc2f62459cce1e9872ba5632c938c71f2' into HEAD
...
# Conflicts:
# docs/dev/debt/libkernel.md
2026-11-03 18:18:49 +13:00
Dean
a03cc0dde6
Merge pull request #14885 from oneandonlydean/carry-7135
...
fix(libkernel): follow kern_cpuset for the base cpuset, level checks and interrupt targets
2026-11-03 18:14:20 +13:00
Dean
b955001c4d
Merge pull request #15030 from Gruzzberry/fix/sysctl-overcommit-eperm
...
fix(libkernel): fail a vm.overcommit write with EPERM
2026-11-03 18:13:26 +13:00
Dean
5f96abbcba
Merge pull request #14940 from BunnyFl/fix/prime-shared-mutexes
...
fix(agc,libkernel): prime the host shared mutexes left unprimed on Windows
2026-11-03 18:12:18 +13:00
Dean
e41879d2b7
Merge pull request #14876 from roboterspinne/fix/libkernel-ipv6-unspecified-connect
...
fix(libkernel): connect an AF_INET6 socket to ::1 when the address is unspecified, as FreeBSD does
2026-11-03 18:11:16 +13:00
Dean
7a3d08c1c3
Merge pull request #14875 from roboterspinne/fix/libkernel-tcp-multicast-address
...
fix(libkernel): fail bind and connect of a stream socket to a multicast address with EAFNOSUPPORT
2026-11-03 18:11:11 +13:00
Dean
165d818a8f
Merge pull request #14874 from roboterspinne/fix/libkernel-path-name-too-long-errors
...
fix(libkernel): fail sce path calls with ENAMETOOLONG for a path of 1024 bytes or more
2026-11-03 18:11:05 +13:00
Dean
79b49a50c6
Merge pull request #14710 from ahmadmuj/fix/anyps5-apr-guest-copyout
...
fix(libkernel): return EFAULT from APR file size and stat queries for an unwritable output
2026-11-03 18:09:40 +13:00
Dean
48dd279a37
Merge pull request #13950 from pushkarreddyy/fix/usercontext-efault
...
fix(libkernel): return EFAULT from context operations for invalid memory pointers
2026-11-03 18:09:35 +13:00
Dean
10921ef452
Merge pull request #12560 from Kikoarl/fix/win32-verbatim-path-dos-devices
...
fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows
2026-11-03 18:09:19 +13:00
Dean Galvin
df788026b6
fix(libkernel): refuse cpuset sizes the console rejects and record the EPERM difference
...
cpuset_getaffinity and cpuset_setaffinity return ERANGE from 24 bytes, as a PS5 payload process did (rooklz sweep, #7135 comment 6391606624: 8 to 16 accepted, below 8 and from 24 up ERANGE), and throw for the unmeasured 17 to 23, as pthread_getaffinity_np does. The tests that used 32 bytes use 16 and pin 7, 24, 32 and 64 to ERANGE. The setter entry records that the console answers EPERM for a CPU outside the process's set where this clips and returns 0.
2026-11-03 15:15:35 +13:00
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
memob
37881a5da0
fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
...
Unbacked PRT pages were private read-only commits, so every page that was
read took its own host page. They are now views of one pagefile-backed
section created read-only, so the range costs one page however large and
no view of it can be made writable. Host imports treat such views as
read-only memory instead of asking for a read-write alias.
2026-11-02 19:31:59 -05:00
Dean Galvin
843f35fa2a
Merge commit '88bb16c20e757658078b3efce912c96b1b03502a' into HEAD
...
# Conflicts:
# core/libs/prx/libkernel_sys/Export.Discovery.cpp
# core/libs/prx/libkernel_sys/include/Api.hpp
2026-11-03 11:45:11 +13:00
Dean
f806099805
Merge pull request #14618 from slopgobblercobbler/test/libkernel-clock-gettime-invalid-clock-bounds
...
test(libkernel): cover invalid clock ID in clock_gettime
2026-11-03 11:40:23 +13:00
Dean
4c1ceccd9b
Merge pull request #14591 from ahmadmuj/fix/anyps5-sysctl-proc-name
...
fix(libkernel): resolve kern.proc.proc by name
2026-11-03 11:39:54 +13:00
Dean
798a8e8974
Merge pull request #14566 from slopgobblercobbler/test/libkernel-sem-getvalue-uninit-bounds
...
test(libkernel): cover null pointer in sem_getvalue
2026-11-03 11:39:28 +13:00
Dean
71ed5c29d5
Merge pull request #14466 from oneandonlydean/carry-7631
...
feat(libkernel): direct memory mappings on macOS hosts
2026-11-03 11:37:12 +13:00
Dean
3ade074e69
Merge pull request #14417 from roboterspinne/fix/libkernel-aio-efault
...
fix(libkernel): return EFAULT from AIO poll, cancel and delete for invalid memory
2026-11-03 11:36:00 +13:00
Dean
99e565963e
Merge pull request #10319 from MarrasFederico/fix/open-create-trailing-slash
...
fix(libkernel): report lookup errors when creating through a trailing slash
2026-11-03 11:34:52 +13:00
Dean
9551c50ff7
Merge pull request #9713 from simonbronk/feat/libkernel_sys-switch-utrace-tcsetsid
...
feat(libkernel_sys): implement scePthreadMutexIsowned, utrace and tcsetsid
2026-11-03 11:34:44 +13:00
Danigamer05 and Claude Opus 5.5
0f12fc9b7e
feat(libc): export the std::__sce_v2 filesystem calls
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-11-02 21:36:17 +01:00
Kikoarl
ae9a8b093d
fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows
2026-11-02 21:16:21 +01:00
Dean
e35691b9a0
Merge pull request #14402 from roboterspinne/fix/libkernel-thread-description-utf8
...
fix(libkernel): convert guest thread names from UTF-8 for the Windows thread description
2026-11-03 08:49:38 +13:00
Dean
0679e4b01e
Merge pull request #14272 from milescoviello/test/sanitizer-replace-tables
...
test(libkernel): cover the sanitizer replacement tables titles' libc reads
2026-11-03 08:47:47 +13:00
Dean
36896d8a7f
Merge pull request #14206 from JJenkx/windows/libkernel-select-close-race
...
fix(libkernel): fail a select with EBADF when its pipe closes during the wait on Windows
2026-11-03 08:46:47 +13:00
Alexandre Figueiredo
88f89fcdd6
Merge upstream main into feat/libc-underscore-setjmp
2026-11-02 19:46:24 +00:00
Alexandre Figueiredo
7542cc18c8
Merge upstream main into feat/libc-shared-mutex
2026-11-02 19:46:24 +00:00
Dean
b0c4915518
Merge pull request #14039 from EagleBearerYS/fix/kernel-getaffinity-console-sizes
...
fix(libkernel): follow the console's set sizes in pthread_getaffinity_np
2026-11-03 08:45:45 +13:00
pushkarreddyy
6591d37219
feat(libkernel): alias title sandbox app0 path to application directory
2026-11-02 23:22:04 +05:30
Romans Pokrovskis
d4ae221b8e
chore: synchronize PR7156 with merged MSAA uploads
2026-11-02 19:37:14 +02:00
Dean Galvin
73cebee9e1
Merge commit 'a4eca2a056bf3bbbec98ab42e9d28163e4ea9cb8' into HEAD
...
# Conflicts:
# core/libs/prx/libkernel/Socket/src/Udp.cpp
2026-11-03 06:36:11 +13:00
XatiX and Claude Opus 5.5
7a4fa3865b
fix(libkernel): keep the libkernel contract on forwarded socket calls
...
bind, getsockname, sendto and recvfrom validate as for a libkernel socket
before they reach libSceNet, so a forwarded descriptor reports the same
errors. recvfrom keeps its guest address handling and MSG_WAITALL, and a
zero-length datagram receive does not wait.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-11-02 17:33:10 +00:00
XatiX and Claude Opus 5.5
91311f1bf4
fix(libkernel): forward socket calls on sceNetSocket descriptors to libSceNet
...
A title can create a socket with sceNetSocket and then call bind, getsockname, sendto or recvfrom from libkernel, which does not hold that descriptor, so the call failed with EBADF. PPSA06866's RakNet does this, its local server fails to start and the load after difficulty selection never ends. libSceNet now registers these four calls with libkernel, as it does for setsockopt and getsockopt.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-11-02 17:32:55 +00:00
Dean
a4eca2a056
Merge pull request #13752 from Gruzzberry/fix/sockopt-efault
...
fix(libkernel): fail getsockopt and setsockopt with EFAULT on an unusable pointer
2026-11-03 06:31:52 +13:00
Dean
bc12e15225
Merge pull request #13695 from Retr0G28/fix/ioctl-fioclex-socket
...
fix(libkernel): set and clear close-on-exec with FIOCLEX and FIONCLEX on a socket
2026-11-03 06:31:41 +13:00