mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] Project Proposal MTE Support
@ 2023-07-19  7:37 Stefan Jumarea
  2023-07-20  1:51 ` Rich Felker
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Jumarea @ 2023-07-19  7:37 UTC (permalink / raw)
  To: musl; +Cc: dalias, Razvan Deaconescu, Michalis Pappas

Hello all,

With the present, I would like to discuss the prospect of adding MTE support in
the Musl memory allocator.

Currently, (starting with release 1.2.1, August 2020, commit 503bd3976623)[1], Musl
introduces a new "malloc" implementation ("mallocng"), which solves a lot of the
intended malloc-hardening issues. However, further hardening can be implemented,
including MTE (Memory Tagging Extension) support.

We are using Musl as the primary libc within Unikraft, a Unikernel Developing Kit[2],
and we support MTE on the low-level memory allocator. This however lacks a lot in
terms of granularity, as the internal allocator has a page-size minimum allocation
level, and tagging one page at the time still allows for memory safety violations
in the area of one page.

Our goal is to have MTE protection implemented in a fine-grained allocator
(i.e. Musl "malloc" implementation), that will successfully prevent memory safety
violations.

Extended measurements will need to be done in order to provide a clear overview
over the performance impact that using MTE will have, but the architecture
provides ways to optimize the implementation for functions like "calloc" or
large "malloc" blocks (instructions like "store allocation tag with zeroing",
"sdgz", "store allocation tag for blocks", "sdgm"), along with an asynchronous
way to check for a Tag Check Fault (e.g. on IRQs, on task / thread switches, etc.).

A bit about myself, my name is Ștefan Jumărea, I am an undergraduate student in
the final year at University Politehnica of Bucharest[3], and I’ve been part of the
Unikraft OSS project[2] for almost two years.
I would like to make this my diploma project (due June 2024).

Is it something of interest in the Musl community?
Is it planned work, is there anyone else working on it? If not, I would like to
start working on the project in the next weeks.
Do you have any comments, suggestions, or other things I should consider?

[1]: https://git.musl-libc.org/cgit/musl/commit/?id=503bd3976623493a10b0f32c617feb51f9ba04c8
[2]: https://unikraft.org/
[3]: https://upb.ro/en

Thank you,
Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-07-20 19:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-19  7:37 [musl] Project Proposal MTE Support Stefan Jumarea
2023-07-20  1:51 ` Rich Felker
2023-07-20  5:47   ` Stefan Jumarea
2023-07-20 13:03   ` Szabolcs Nagy
2023-07-20 19:02     ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).