]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-130019: Fix data race in _PyType_AllocNoTrack (gh-130058)
authorSam Gross <colesbury@gmail.com>
Thu, 13 Feb 2025 16:50:45 +0000 (11:50 -0500)
committerGitHub <noreply@github.com>
Thu, 13 Feb 2025 16:50:45 +0000 (11:50 -0500)
commit0559339ccdc76a63dcbd14eb2d60a41f493a1ded
tree54a7ebae23ab23f91e42677bfa61d5c246081e35
parentc357d690033e2f976ddb6e11b8199e3fb9f66118
gh-130019: Fix data race in _PyType_AllocNoTrack (gh-130058)

The reference count fields, such as `ob_tid` and `ob_ref_shared`, may be
accessed concurrently in the free threading build by a `_Py_TryXGetRef`
or similar operation. The PyObject header fields will be initialized by
`_PyObject_Init`, so only call `memset()` to zero-initialize the remainder
of the allocation.
Objects/typeobject.c
Python/gc.c
Python/gc_free_threading.c