From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 21 Oct 2021 15:39:58 +0000 (-0700) Subject: bpo-45521: Fix a bug in the obmalloc radix tree code. (GH-29051) (GH-29122) X-Git-Tag: v3.10.1~149 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1cdac61065e72db60d26e03ef9286d2743d7000e;p=thirdparty%2FPython%2Fcpython.git bpo-45521: Fix a bug in the obmalloc radix tree code. (GH-29051) (GH-29122) MAP_BOT_LENGTH was incorrectly used to compute MAP_TOP_MASK instead of MAP_TOP_LENGTH. On 64-bit machines, the error causes the tree to hold 46-bits of virtual addresses, rather than the intended 48-bits. (cherry picked from commit 311910b31a4bd94dc79298388b7cb65ca5546438) --- diff --git a/Misc/NEWS.d/next/Core and Builtins/2021-10-18-22-40-33.bpo-45521.GdMiuW.rst b/Misc/NEWS.d/next/Core and Builtins/2021-10-18-22-40-33.bpo-45521.GdMiuW.rst new file mode 100644 index 000000000000..3a082a4ffdbc --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2021-10-18-22-40-33.bpo-45521.GdMiuW.rst @@ -0,0 +1,3 @@ +Fix a bug in the obmalloc radix tree code. On 64-bit machines, the bug +causes the tree to hold 46-bits of virtual addresses, rather than the +intended 48-bits. diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index 15c442b858d5..615703a963ed 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -1328,7 +1328,7 @@ _Py_GetAllocatedBlocks(void) #define MAP_TOP_BITS INTERIOR_BITS #define MAP_TOP_LENGTH (1 << MAP_TOP_BITS) -#define MAP_TOP_MASK (MAP_BOT_LENGTH - 1) +#define MAP_TOP_MASK (MAP_TOP_LENGTH - 1) #define MAP_MID_BITS INTERIOR_BITS #define MAP_MID_LENGTH (1 << MAP_MID_BITS)