Tim Peters <[email protected]> added the comment:
I'm skeptical ;-) If MTE is actually being used, system software assigns
"random" values to 4 of the higher-order bits. When obmalloc punts to the
system malloc, presumably those bits will be randomized in the addresses
returned by malloc. Then it's just not possible that obmalloc's
assert(HIGH_BITS(p) == HIGH_BITS(&arena_map_root));
can always succeed - we're insisting there that _all_ the high-order bits are
exactly the same as in the `&arena_map_root` file static. If `p` was actually
obtained from the system `malloc()`, it should fail about 15 times out of 16
(and regardless of which of the 16 bit patterns the platform C assigns to
&arena_map_root).
But, of course, that failure would only be seen in a debug build.
----------
nosy: +tim.peters
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue43593>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com