diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-30 00:54:09 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-30 00:54:37 -0400 |
| commit | d22a03efcd0aeddaa7d0d2ca47bd345f6ecf7752 (patch) | |
| tree | 87ee2316a8762f365eaa67e38dda72bb3a371bd5 /src/video_core/buffer_cache/buffer_base.h | |
| parent | b937805eb573cbad52fc698fd149752eae0ddc81 (diff) | |
kernel: clear the fastmem arena when the application process is closed
Loading a Switch 2 game after another one in the same window hung or
crashed it at boot. The first game's process still had 55-60 references
at kernel shutdown, so it was never finalized and its memory stayed
mapped in the fastmem arena. The next game's mappings at the same
addresses then failed ("Failed to split placeholder" / "Failed to map
placeholder"), and it ran on the first game's memory: Mario Kart World
loaded after another Switch 2 game jumped to a garbage address from
rtld, or hung.
Detach the closed process from the arena (a late finalize must not
unmap the next game's memory), unmap the whole arena, and log when the
process was still referenced.
Diffstat (limited to 'src/video_core/buffer_cache/buffer_base.h')
0 files changed, 0 insertions, 0 deletions
