mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 15:56:00 +03:00
[PR #3660] [MERGED] Core: Handle various edge cases related to executable permissions. #3639
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#3639
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/3660
Author: @StevenMiller123
Created: 9/26/2025
Status: ✅ Merged
Merged: 9/28/2025
Merged by: @georgemoralis
Base:
main← Head:exec-prot-fixes📝 Commits (10+)
7572be3Fix flag handling on Windows1ea7755Fix backing protects8347b57Fix error code for sceKernelMapDirectMemory225eea05Fix prot setting in ProtectBytes526348cHandle some extra protection-related edge cases.67915dcProperly handle exec permission behavior for memory pools7b40a16Clang74f3ee5Allow execution protection for direct memorya3e4b95Clangc6ff305More descriptive assert message📊 Changes
4 files changed (+167 additions, -53 deletions)
View changed files
📝
src/core/address_space.cpp(+83 -28)📝
src/core/libraries/kernel/memory.cpp(+15 -5)📝
src/core/memory.cpp(+66 -18)📝
src/core/memory.h(+3 -2)📄 Description
As I tested various forms of protections on memory, I found a handful of inaccuracies this PR will address.
MapViewOfFile3. Fixing this is necessary forsceKernelMprotectto work properly on flexible memory after #3639AddressSpace::Impl::Protect, so I cleaned up the logic there too.sceKernelMapDirectMemory2returns EINVAL when requesting execute permissions, not EACCES.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.