import python3-3.6.8-38.el8_4
This commit is contained in:
parent
7c0aac331f
commit
b2efcd69f9
36
SOURCES/00362-threading-enumerate-rlock.patch
Normal file
36
SOURCES/00362-threading-enumerate-rlock.patch
Normal file
@ -0,0 +1,36 @@
|
||||
bpo-44422: Fix threading.enumerate() reentrant call (GH-26727)
|
||||
|
||||
The threading.enumerate() function now uses a reentrant lock to
|
||||
prevent a hang on reentrant call.
|
||||
|
||||
https://github.com/python/cpython/commit/243fd01047ddce1a7eb0f99a49732d123e942c63
|
||||
|
||||
Resolves: rhbz#1959459
|
||||
|
||||
diff --git a/Lib/threading.py b/Lib/threading.py
|
||||
index 0ab1e46..7ab9ad8 100644
|
||||
--- a/Lib/threading.py
|
||||
+++ b/Lib/threading.py
|
||||
@@ -727,8 +727,11 @@ _counter() # Consume 0 so first non-main thread has id 1.
|
||||
def _newname(template="Thread-%d"):
|
||||
return template % _counter()
|
||||
|
||||
-# Active thread administration
|
||||
-_active_limbo_lock = _allocate_lock()
|
||||
+# Active thread administration.
|
||||
+#
|
||||
+# bpo-44422: Use a reentrant lock to allow reentrant calls to functions like
|
||||
+# threading.enumerate().
|
||||
+_active_limbo_lock = RLock()
|
||||
_active = {} # maps thread id to Thread object
|
||||
_limbo = {}
|
||||
_dangling = WeakSet()
|
||||
@@ -1325,7 +1328,7 @@ def _after_fork():
|
||||
# Reset _active_limbo_lock, in case we forked while the lock was held
|
||||
# by another (non-forked) thread. http://bugs.python.org/issue874900
|
||||
global _active_limbo_lock, _main_thread
|
||||
- _active_limbo_lock = _allocate_lock()
|
||||
+ _active_limbo_lock = RLock()
|
||||
|
||||
# fork() only copied the current thread; clear references to others.
|
||||
new_active = {}
|
@ -14,7 +14,7 @@ URL: https://www.python.org/
|
||||
# WARNING When rebasing to a new Python version,
|
||||
# remember to update the python3-docs package as well
|
||||
Version: %{pybasever}.8
|
||||
Release: 37%{?dist}
|
||||
Release: 38%{?dist}
|
||||
License: Python
|
||||
|
||||
|
||||
@ -591,6 +591,13 @@ Patch357: 00357-CVE-2021-3177.patch
|
||||
# Main BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1928904
|
||||
Patch359: 00359-CVE-2021-23336.patch
|
||||
|
||||
# 00362 #
|
||||
# The threading.enumerate() function now uses a reentrant lock to
|
||||
# prevent a hang on reentrant call.
|
||||
# Upstream: https://bugs.python.org/issue44422
|
||||
# Main BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1990860
|
||||
Patch362: 00362-threading-enumerate-rlock.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||
@ -918,6 +925,7 @@ git apply %{PATCH351}
|
||||
%patch356 -p1
|
||||
%patch357 -p1
|
||||
%patch359 -p1
|
||||
%patch362 -p1
|
||||
|
||||
# Remove files that should be generated by the build
|
||||
# (This is after patching, so that we can use patches directly from upstream)
|
||||
@ -1843,6 +1851,10 @@ fi
|
||||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Wed Aug 11 2021 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-38
|
||||
- Fix reentrant call to threading.enumerate()
|
||||
Resolves: rhbz#1990860
|
||||
|
||||
* Thu Mar 04 2021 Petr Viktorin <pviktori@redhat.com> - 3.6.8-37
|
||||
- Fix for CVE-2021-23336
|
||||
Resolves: rhbz#1928904
|
||||
|
Loading…
Reference in New Issue
Block a user