Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 30 Sep 2021 15:02:23 +0100
From: Jack Bond-Preston <>
Subject: Mallocng algorithm high-level overview


I'm currently working on porting mallocng to a new architecture and
could use some assistance understanding the algorithm. From searching
the web, I couldn't seem to find any high-level overview of musl's
mallocng allocator (save for the readme at github/richfelker
/mallocng-draft, which is a little briefer than what I am looking
for). If any such description exists, I would much appreciate
being pointed towards it. If not, would anyone be able to explain
some of the details of the allocator?

Mostly I am interested in a more general high-level overview of how
the allocator works. There are also some specifics I am interested
in, if anyone is able to shine some light on these:
- The uses/purposes of the structures in meta.h. Particularly, meta
   and group, and the relation between the two.
- The general overview of in-band and out-of-band metadata, and how/
   when they are used.
- The purpose/meaning of the UNIT define in meta.h.
- Any assumptions about alignment/pointer size the allocator may

Thanks very much for your time, I appreciate the request is a bit
broad, but any information is appreciated. Please don't hesitate to
reach out for more information.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.