]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.13] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 28 May 2026 17:10:24 +0000 (19:10 +0200)
committerGitHub <noreply@github.com>
Thu, 28 May 2026 17:10:24 +0000 (19:10 +0200)
commitddd50ab27ac1f2373ecb036f8cf0e21e55ba1b35
tree23d568a72f04b1d2d08d4b62009568567bd74e51
parentf20bcf0f23b84a31fd263b4036aa982a47ff2af1
[3.13] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864) (GH-150189) (#150194)

[3.14] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864) (GH-150189)

gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864)

Apply protection against ROP/JOP attacks for aarch64 on asm_trampoline.S.

The BTI flag must be applied in assembler sources for this class
of attacks to be mitigated on newer aarch64 processors.

See also:
https://sourceware.org/annobin/annobin.html/Test-branch-protection.html
and
https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enabling-pac-and-bti-on-aarch64

The 3.14 backport makes Python/jit_unwind.c changes in
Python/perf_jit_trampoline.c.

(cherry picked from commit da8477b25c6124c961306d4d7cd5ec7dafda6be4)
(cherry picked from commit c863e96455ea8b7f1e958eb0c9e188b05f7770a4)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: stratakis <cstratak@redhat.com>
Misc/NEWS.d/next/Core_and_Builtins/2026-05-12-16-47-23.gh-issue-139808.iIs7_E.rst [new file with mode: 0644]
Python/asm_trampoline.S
Python/asm_trampoline_aarch64.h [new file with mode: 0644]
Python/perf_jit_trampoline.c