Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 22 Oct 2019 13:40:51 -0400
From: Rich Felker <>
Subject: New malloc - intro, motivation & design goals document

Alongside time64 and other enhancements, over the next few months I'll
be working on a major project to replace musl's malloc, which has
known fundamental problems that can't really be fixed without
significant redesign. The early stages of this, in progress now,
involve preparing tests that can identify pitfalls into pathological
fragmentation, some of which may be avoidable and others of which may
be fundamental, for use in assessing possible allocation strategies
and other existing malloc implementations.

I'm attaching a document describing motivations and goals for the
project, and a dead simple minimal test to demonstrate the unbounded
heap expansion problem that's the core motivation. The latter produces
no output but can be watched via top(1) or similar.

I'll follow up soon with some thoughts/findings so far on designs that
might work for us, or that don't work but have interesting properties
that suggest they may lead to workable designs.

I'm not going to try to do development of this inside the musl tree;
getting the ability to experiment with and do this out-of-tree, then
integrate it later, was one of the motivations for supporting malloc
replacement which musl 1.1.20 introduced.

View attachment "newmalloc.txt" of type "text/plain" (3042 bytes)

View attachment "expand_race.c" of type "text/plain" (260 bytes)

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.