cpython/Python
Miss Islington (bot) c128718f30
[3.13] gh-121368: Fix seq lock memory ordering in _PyType_Lookup (GH-121388) (#121505)
The `_PySeqLock_EndRead` function needs an acquire fence to ensure that
the load of the sequence happens after any loads within the read side
critical section. The missing fence can trigger bugs on macOS arm64.

Additionally, we need a release fence in `_PySeqLock_LockWrite` to
ensure that the sequence update is visible before any modifications to
the cache entry.
(cherry picked from commit 1d3cf79a50)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2024-07-08 19:15:58 +00:00
..
clinic [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
frozen_modules
_warnings.c [3.13] gh-119049: Fix incorrect display of warning which is constructed by C API (GH-119063) (GH-119106) 2024-05-17 18:16:58 +03:00
adaptive.md
asdl.c
asm_trampoline.S [3.13] gh-120400 :Support Linux perf profile to see Python calls on RISC-V architecture (GH-120089) (#120413) 2024-06-14 17:03:24 +02:00
assemble.c gh-117494: extract the Instruction Sequence data structure into a separate file (#117496) 2024-04-04 15:47:26 +00:00
ast.c gh-116126: Implement PEP 696 (#116129) 2024-05-03 06:17:32 -07:00
ast_opt.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
ast_unparse.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
bltinmodule.c [3.13] gh-120526: Correct signature of map() builtin (GH-120528) (GH-120539) 2024-06-15 05:59:37 +00:00
bootstrap_hash.c
brc.c gh-110481: Fix biased reference counting queue initialization. (#117271) 2024-03-28 09:28:39 -04:00
bytecodes.c [3.13] GH-121012: Set index to -1 when list iterators become exhausted in tier 2 (GH-121483) (GH-121494) 2024-07-08 18:09:54 +01:00
ceval.c [3.13] gh-121338: Remove GH-pragma optimize (GH-121340) (#121492) 2024-07-08 09:22:44 -04:00
ceval_gil.c [3.13] gh-118727: Don't drop the GIL in drop_gil() unless the current thread holds it (GH-118745) (#119474) 2024-05-23 21:27:38 +00:00
ceval_macros.h gh-107674: Improve performance of sys.settrace (GH-117133) 2024-05-03 19:49:24 +01:00
codecs.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
compile.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
condvar.h
config_common.h gh-76785: Add PyInterpreterConfig Helpers (gh-117170) 2024-04-02 20:35:52 +00:00
context.c [3.13] gh-120811: Fix reference leak upon _PyContext_Exit failure (GH-120812) (#120843) 2024-06-22 16:44:46 +05:30
critical_section.c [3.13] gh-119344: Make critical section API public (GH-119353) (#120856) 2024-06-21 20:20:41 +00:00
crossinterp.c [3.13] gh-120838: Add _PyThreadState_WHENCE_FINI (gh-121013) 2024-06-26 15:32:00 -06:00
crossinterp_data_lookup.h
crossinterp_exceptions.h [3.13] gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-120009) 2024-06-03 23:37:28 +00:00
dtoa.c gh-91565: Replace bugs.python.org links with Devguide/GitHub ones (GH-91568) 2024-04-01 13:02:07 +00:00
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
emscripten_signal.c
emscripten_trampoline.c
errors.c gh-118379: Use PyTuple_Pack instead of Py_BuildValue if possible (GH-118381) 2024-04-30 17:55:15 +03:00
executor_cases.c.h [3.13] GH-121012: Set index to -1 when list iterators become exhausted in tier 2 (GH-121483) (GH-121494) 2024-07-08 18:09:54 +01:00
fileutils.c [3.13] gh-117657: Fix TSan reported data race on ioctl_works (GH-120175) (#120654) 2024-06-17 17:52:49 +00:00
flowgraph.c [3.13] gh-120367: fix bug where compiler detects redundant jump after pseudo op replacement (GH-120714) (#120716) 2024-06-18 22:34:07 +00:00
formatter_unicode.c
frame.c gh-118272: set stacktop to 0 before freeing contents, to avoid access to invalid objects during GC (#118478) 2024-05-01 21:51:40 +01:00
frozen.c gh-108716: Cleanup remaining deepfreeze infrastructure (#116919) 2024-03-18 11:13:11 -07:00
frozenmain.c gh-105716: Fix _PyInterpreterState_IsRunningMain() For Embedders (gh-117140) 2024-03-21 18:20:20 -06:00
future.c gh-118216: Don't consider dotted __future__ imports (#118267) 2024-05-02 06:32:20 -07:00
gc.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
gc_free_threading.c [3.13] gh-117657: Fix race involving GC and heap initialization (GH-119923) (#120038) 2024-06-04 14:08:10 +00:00
gc_gil.c
generated_cases.c.h [3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889) 2024-05-31 21:56:26 -07:00
getargs.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c [3.13] gh-119132: Update sys.version to identify free-threaded or not. (gh-119134) (#119153) 2024-05-18 16:49:11 -04:00
hamt.c
hashtable.c
import.c [3.13] gh-120838: Add _PyThreadState_WHENCE_FINI (gh-121013) 2024-06-26 15:32:00 -06:00
importdl.c gh-117953: Imply Single-phase Init if the Init Function Fails (gh-118684) 2024-05-06 21:16:22 -06:00
initconfig.c gh-118518: Rename PYTHONPERFJITSUPPORT and -X perfjit with underscores (#118693) 2024-05-07 11:47:21 +00:00
instruction_sequence.c gh-117680: Fix msvc warning in instruction_sequence.c (#118326) 2024-04-26 17:20:30 +01:00
instrumentation.c [3.13] gh-117657: Fix some simple races in instrumentation.c (GH-120118) (#120444) 2024-06-13 18:23:19 +08:00
interpconfig.c gh-76785: Fix a Refleak in _interpreters.new_config() (gh-117491) 2024-04-03 01:10:26 +00:00
intrinsics.c gh-74929: Implement PEP 667 (GH-115153) 2024-05-04 12:12:10 +01:00
jit.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
legacy_tracing.c gh-107674: Lazy load line number to improve performance of tracing (GH-118127) 2024-04-29 09:54:52 +01:00
lock.c [3.13] gh-121368: Fix seq lock memory ordering in _PyType_Lookup (GH-121388) (#121505) 2024-07-08 19:15:58 +00:00
marshal.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
modsupport.c
mysnprintf.c
mystrtoul.c
object_stack.c
opcode_targets.h GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
optimizer.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
optimizer_analysis.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
optimizer_bytecodes.c [3.13] gh-119258: Backport optimizer frame fixes in GH-119365 (GH-120699) 2024-06-20 23:55:20 +08:00
optimizer_cases.c.h [3.13] gh-119258: Backport optimizer frame fixes in GH-119365 (GH-120699) 2024-06-20 23:55:20 +08:00
optimizer_symbols.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
parking_lot.c [3.13] gh-117657: Avoid sem_clockwait in TSAN (GH-119915) (#119992) 2024-06-03 18:07:22 +00:00
pathconfig.c gh-117987: Restore several functions removed in Python 3.13 alpha 1 (GH-117993) 2024-04-18 15:20:38 +02:00
perf_jit_trampoline.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
perf_trampoline.c gh-118518: Allow perf to work without frame pointers (#112254) 2024-05-05 03:07:29 +02:00
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c [3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334) 2024-06-04 09:26:25 +02:00
pylifecycle.c [3.13] gh-120837: Update _Py_DumpExtensionModules to be async-signal-safe (gh-121051) (gh-121107) 2024-06-27 22:12:12 +00:00
pymath.c
pystate.c [3.13] gh-120838: Add _PyThreadState_WHENCE_FINI (gh-121013) 2024-06-26 15:32:00 -06:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c [3.13] gh-120108: Fix deepcopying of AST trees with .parent attributes (GH-120114) (#121000) 2024-06-25 15:39:29 +00:00
Python-tokenize.c [3.13] gh-120343: Fix column offsets of multiline tokens in tokenize (GH-120391) (#120427) 2024-06-12 19:22:44 +00:00
pythonrun.c gh-111201: A new Python REPL (GH-111567) 2024-05-05 21:32:23 +02:00
pytime.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
qsbr.c [3.13] Fix typos in comments (GH-120481) (#120774) 2024-06-20 03:40:54 +00:00
README
specialize.c [3.13] Fix typos in comments (GH-120481) (#120774) 2024-06-20 03:40:54 +00:00
stdlib_module_names.h gh-111201: A new Python REPL (GH-111567) 2024-05-05 21:32:23 +02:00
structmember.c [3.13] gh-117657: Fix __slots__ thread safety in free-threaded build (GH-119368) (#120655) 2024-06-17 19:12:25 +00:00
suggestions.c
symtable.c [3.13] gh-119933: Improve `SyntaxError` message for invalid type parameters expressions (GH-119976) (#120641) 2024-06-17 08:01:49 -07:00
sysmodule.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
thread.c gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
thread_nt.h gh-110850: Use _PyDeadline_Get() in EnterNonRecursiveMutex() (#118556) 2024-05-04 09:39:58 +02:00
thread_pthread.h gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
thread_pthread_stubs.h
tier2_engine.md Docs: fix spelling of the word 'transferring' (#116641) 2024-03-13 23:53:32 +01:00
traceback.c gh-117764: Fix and add signatures for many builtins (GH-117769) 2024-04-12 13:56:41 +03:00
tracemalloc.c [3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334) 2024-06-04 09:26:25 +02:00
vm-state.md

Miscellaneous source files for the main Python shared library