gh-144194: Fix mmap failure check in perf_jit_trampoline.c (#143713)
mmap() returns MAP_FAILED ((void*)-1) on error, not NULL. The current
check never detects mmap failures, so jitdump initialization proceeds
even when the memory mapping fails.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst
new file mode 100644
index 0000000..1f33284
--- /dev/null
+++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst
@@ -0,0 +1 @@
+Fix error handling in perf jitdump initialization on memory allocation failure.
diff --git a/Python/perf_jit_trampoline.c b/Python/perf_jit_trampoline.c
index f51ab1b..0ba856e 100644
--- a/Python/perf_jit_trampoline.c
+++ b/Python/perf_jit_trampoline.c
@@ -1083,7 +1083,8 @@ static void* perf_map_jit_init(void) {
0 // Offset 0 (first page)
);
- if (perf_jit_map_state.mapped_buffer == NULL) {
+ if (perf_jit_map_state.mapped_buffer == MAP_FAILED) {
+ perf_jit_map_state.mapped_buffer = NULL;
close(fd);
return NULL; // Memory mapping failed
}