Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 4 Oct 2021 15:24:28 +0100
From: Jack Bond-Preston <>
Subject: Re: Mallocng algorithm high-level overview

Thanks for the reply Rich, it has been a great help.

I have a couple more specific questions, sorry:
- Am I correct in saying IB represents the size (in bytes) of the
in-band metadata between slots?
- Is it assumed that sizeof(struct group) == sizeof(UNIT) throughout the
code (the struct is defined such that this is true)? If the size of the
in-band metadata were to increase (due to additional/larger metadata)
such that UNIT < sizeof(struct group) (due to the size of the group
struct needing to increase to accommodate the larger in-band metadata),
I assume some code would have to be changed to instead use the size of
the new group struct where appropriate (e.g. when allocating some new
group). I noticed there are a lot of expressions containing x +
UNIT/UNIT + x, are these generally to ensure allocations etc. include
enough space for the contents of the group struct, or are there other
reasons for these (e.g. some kind of 1-UNIT buffer between slots)?


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.