From: Kumar Aditya Date: Fri, 18 Apr 2025 09:36:27 +0000 (+0530) Subject: gh-132643: use atomic load for dict in specializer (#132653) X-Git-Tag: v3.14.0b1~423 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f3d877a27abca355f9d05decf3e2ce0874983288;p=thirdparty%2FPython%2Fcpython.git gh-132643: use atomic load for dict in specializer (#132653) --- diff --git a/Python/specialize.c b/Python/specialize.c index ceb396c5b548..48cdcbd2a24c 100644 --- a/Python/specialize.c +++ b/Python/specialize.c @@ -1641,7 +1641,8 @@ specialize_attr_loadclassattr(PyObject *owner, _Py_CODEUNIT *instr, specialize(instr, is_method ? LOAD_ATTR_METHOD_NO_DICT : LOAD_ATTR_NONDESCRIPTOR_NO_DICT); } else if (is_method) { - PyObject *dict = *(PyObject **) ((char *)owner + dictoffset); + PyObject **addr = (PyObject **)((char *)owner + dictoffset); + PyObject *dict = FT_ATOMIC_LOAD_PTR_ACQUIRE(*addr); if (dict) { SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_NOT_MANAGED_DICT); return 0;