11 Commits

Author SHA1 Message Date
Victor Stinner
e752ea9eb9
[3.13] gh-144194: Fix mmap failure check in perf_jit_trampoline.c (#143713) (#144304)
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.

(cherry picked from commit 8fe8a94a7c050bc16cac9ec300f89c0f389f9a44)

Co-authored-by: stratakis <cstratak@redhat.com>
2026-01-28 14:15:39 +00:00
Miss Islington (bot)
e4e36a716a
[3.13] gh-142779: Initialize reserved field for proper padding (GH-142780) (#144160)
gh-142779: Initialize reserved field for proper padding (GH-142780)

The jitdump specification specifies a reserved field for padding.

Initialize it so no garbage data is embedded in the jitdump files.
(cherry picked from commit 77bf4ba732a8736910bd6b7ec5a58b8ee833c95f)

Co-authored-by: stratakis <cstratak@redhat.com>
2026-01-22 17:29:57 +00:00
Pablo Galindo Salgado
cba2974a54
[3.13] gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) (#136545)
This commit fixes the following problems:

* The x86_64 trampolines are not preserving frame pointers
* The hardcoded offsets to the code segment from the FDE only worked properly for x64_64
* The CIE data was not following conventions of aarch64
* The eh_frame for aarch64 was not fully correct
(cherry picked from commit 236f733d8ffb3d587e1167fa0a0248c24512e7fd)
2025-07-11 14:02:19 +00:00
stratakis
65192572d2
[3.13] gh-128605: Add branch protections for x86_64 in asm_trampoline.S (#128606) (#135353)
Apply Intel Control-flow Technology for x86-64 on asm_trampoline.S.

Required for mitigation against return-oriented programming (ROP)
and Call or Jump Oriented Programming (COP/JOP) attacks.

Manual application is required for the assembly files.

See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html
2025-06-11 12:09:20 +02:00
Miss Islington (bot)
857647fa67
[3.13] Heavily comment Python/perf_jit_trampoline.c to improve maintainability (GH-134527) (#135300) 2025-06-09 22:09:37 +01:00
Miss Islington (bot)
f9c18bab7f
[3.13] gh-128605: Revert "Add branch protections for x86_64 in asm_tr…ampoline.S (GH-128606) (GH-135077)" (GH-135175) (GH-135203)
[3.14] gh-128605: Revert "Add branch protections for x86_64 in asm_tr…ampoline.S (GH-128606) (GH-135077)" (GH-135175)

This reverts commit 899cca6dbf76bf3e06a99f60a5f996ad6ba0761f,
which broke buildbots.
(cherry picked from commit b477e21d5cb85bc764d6d9d18d122aa703d7b548)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-06-06 16:09:09 +02:00
Miss Islington (bot)
9f3d99967c
[3.13] gh-128605: Add branch protections for x86_64 in asm_trampoline.S (GH-128606) (GH-135077) (#135083)
[3.14] gh-128605: Add branch protections for x86_64 in asm_trampoline.S (GH-128606) (GH-135077)

Apply Intel Control-flow Technology for x86-64 on asm_trampoline.S.

Required for mitigation against return-oriented programming (ROP)
and Call or Jump Oriented Programming (COP/JOP) attacks.

Manual application is required for the assembly files.

See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html
(cherry picked from commit 899cca6dbf76bf3e06a99f60a5f996ad6ba0761f)

Co-authored-by: stratakis <cstratak@redhat.com>
2025-06-03 13:54:53 +00:00
Miss Islington (bot)
9d2c10bee3
[3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959)
(cherry picked from commit 5b941e57c71d7d0ab983d81a169f892662cfe446)

Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
2024-05-13 04:53:30 +00:00
Pablo Galindo Salgado
e6b213ee3f
gh-118518: Ensure that the code padding it's applied (#118654) 2024-05-06 18:20:42 +01:00
Pablo Galindo Salgado
aeb36c5bb9
gh-118518: Use the raw syscall directly for gettid (#118592) 2024-05-05 12:37:32 +00:00
Pablo Galindo Salgado
1b22d801b8
gh-118518: Allow perf to work without frame pointers (#112254) 2024-05-05 03:07:29 +02:00