Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 30 Sep 2021 10:50:56 -0400
From: Fangrui Song <>
Subject: Re: Mallocng algorithm high-level overview

On Thu, Sep 30, 2021 at 10:02 AM Jack Bond-Preston
<> wrote:
> Hello,
> 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?

Not answering the specific questions below, but I have some notes on :)

> 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
>    make.
> 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.
> Cheers,
> Jack

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.