summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3
diff options
context:
space:
mode:
authorTim Orling <ticotimo@gmail.com>2022-10-11 12:56:01 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-10-20 15:36:02 +0100
commit6a3c3653323309c3a0cd4747bbc01227718bd1c9 (patch)
tree0c825eb71cf65f2111912eafc7084bb774de46aa /meta/recipes-devtools/python/python3
parent855084fcbba12bc1aecf2363994014fd5d230bfb (diff)
downloadpoky-6a3c3653323309c3a0cd4747bbc01227718bd1c9.tar.gz
python3: upgrade 3.10.4 -> 3.10.7
Security and bug fixes. Drop patch for gh-92036 which was merged in 3.10.5 Refresh 0017-setup.py-do-not-report-missing-dependencies-for-disa.pathc Fixes: * CVE-2020-10735 https://nvd.nist.gov/vuln/detail/CVE-2020-10735 * CVE-2021-28861 https://nvd.nist.gov/vuln/detail/CVE-2021-28861 * CVE-2018-25032 https://nvd.nist.gov/vuln/detail/CVE-2018-25032 For a list of changes see: https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-7-final https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-6-final https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-6-final (From OE-Core rev: 3efae85283b19fa1b30af7fed7fa89d7a50337db) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3')
-rw-r--r--meta/recipes-devtools/python/python3/0001-gh-92036-Fix-gc_fini_untrack-GH-92037.patch54
-rw-r--r--meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch8
2 files changed, 5 insertions, 57 deletions
diff --git a/meta/recipes-devtools/python/python3/0001-gh-92036-Fix-gc_fini_untrack-GH-92037.patch b/meta/recipes-devtools/python/python3/0001-gh-92036-Fix-gc_fini_untrack-GH-92037.patch
deleted file mode 100644
index 6a58c35cc6..0000000000
--- a/meta/recipes-devtools/python/python3/0001-gh-92036-Fix-gc_fini_untrack-GH-92037.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1From 178a238f25ab8aff7689d7a09d66dc1583ecd6cb Mon Sep 17 00:00:00 2001
2From: "Miss Islington (bot)"
3 <31488909+miss-islington@users.noreply.github.com>
4Date: Wed, 4 May 2022 03:23:29 -0700
5Subject: [PATCH 01/40] gh-92036: Fix gc_fini_untrack() (GH-92037)
6
7Fix a crash in subinterpreters related to the garbage collector. When
8a subinterpreter is deleted, untrack all objects tracked by its GC.
9To prevent a crash in deallocator functions expecting objects to be
10tracked by the GC, leak a strong reference to these objects on
11purpose, so they are never deleted and their deallocator functions
12are not called.
13(cherry picked from commit 14243369b5f80613628a565c224bba7fb3fcacd8)
14
15Co-authored-by: Victor Stinner <vstinner@python.org>
16
17Upstream-Status: Backport
18---
19 .../2022-04-28-23-37-30.gh-issue-92036.GZJAC9.rst | 5 +++++
20 Modules/gcmodule.c | 6 ++++++
21 2 files changed, 11 insertions(+)
22 create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-04-28-23-37-30.gh-issue-92036.GZJAC9.rst
23
24diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-04-28-23-37-30.gh-issue-92036.GZJAC9.rst b/Misc/NEWS.d/next/Core and Builtins/2022-04-28-23-37-30.gh-issue-92036.GZJAC9.rst
25new file mode 100644
26index 0000000000..78094c5e4f
27--- /dev/null
28+++ b/Misc/NEWS.d/next/Core and Builtins/2022-04-28-23-37-30.gh-issue-92036.GZJAC9.rst
29@@ -0,0 +1,5 @@
30+Fix a crash in subinterpreters related to the garbage collector. When a
31+subinterpreter is deleted, untrack all objects tracked by its GC. To prevent a
32+crash in deallocator functions expecting objects to be tracked by the GC, leak
33+a strong reference to these objects on purpose, so they are never deleted and
34+their deallocator functions are not called. Patch by Victor Stinner.
35diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
36index 805a159d53..43ae6fa98b 100644
37--- a/Modules/gcmodule.c
38+++ b/Modules/gcmodule.c
39@@ -2170,6 +2170,12 @@ gc_fini_untrack(PyGC_Head *list)
40 for (gc = GC_NEXT(list); gc != list; gc = GC_NEXT(list)) {
41 PyObject *op = FROM_GC(gc);
42 _PyObject_GC_UNTRACK(op);
43+ // gh-92036: If a deallocator function expect the object to be tracked
44+ // by the GC (ex: func_dealloc()), it can crash if called on an object
45+ // which is no longer tracked by the GC. Leak one strong reference on
46+ // purpose so the object is never deleted and its deallocator is not
47+ // called.
48+ Py_INCREF(op);
49 }
50 }
51
52--
532.25.1
54
diff --git a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index 0ead57e465..8c554feb4b 100644
--- a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -12,16 +12,18 @@ Upstream-Status: Inappropriate [oe-core specific]
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 13Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
14Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> 14Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
15Refresh for 3.10.7:
16Signed-off-by: Tim Orling <tim.orling@konsulko.com>
15 17
16--- 18---
17 setup.py | 8 ++++++++ 19 setup.py | 8 ++++++++
18 1 file changed, 8 insertions(+) 20 1 file changed, 8 insertions(+)
19 21
20diff --git a/setup.py b/setup.py 22diff --git a/setup.py b/setup.py
21index 2be4738..62f0e18 100644 23index 85a2b26357..7605347bf5 100644
22--- a/setup.py 24--- a/setup.py
23+++ b/setup.py 25+++ b/setup.py
24@@ -517,6 +517,14 @@ class PyBuildExt(build_ext): 26@@ -517,6 +517,14 @@ def print_three_column(lst):
25 print("%-*s %-*s %-*s" % (longest, e, longest, f, 27 print("%-*s %-*s %-*s" % (longest, e, longest, f,
26 longest, g)) 28 longest, g))
27 29
@@ -35,4 +37,4 @@ index 2be4738..62f0e18 100644
35+ 37+
36 if self.missing: 38 if self.missing:
37 print() 39 print()
38 print("Python build finished successfully!") 40 print("The necessary bits to build these optional modules were not "