Skip to content

Tracking Issue for LLVM AllocToken and Heap Partitioning Support for Rust #159111

Description

@rcvalle

This is a tracking issue for the LLVM AllocToken and Heap Partitioning Support for Rust project (see the design document draft).

Steps

  • Add option to the Rust compiler driver and frontend (i.e., -Zsanitizer=alloc-token and related options).
  • Add support for emitting allocation token function attributes, module flags, and allocation token hint metadata to the Rust compiler code generation.
  • Implement the default pointer-split heap partitioning scheme in the rustc_sanitizers crate.
  • Define allocation token classifications and type name encodings for cross-language LLVM AllocToken and heap partitioning support.
  • Change the initial implementation to use the defined classifications and type name encodings for cross-language LLVM AllocToken and heap partitioning support.
  • Add typed allocation paths and allocation token hints to the Rust standard library.
  • Add token-enabled allocator interface support to the Rust standard library and to the Rust compiler allocator shim generation.
  • Add the alloc_token_infer intrinsic.
  • Create documentation and tests.

Unresolved Questions

None.

Implementation history

Metadata

Metadata

Assignees

Labels

A-sanitizersArea: Sanitizers for correctness and code qualityC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCPG-exploit-mitigationsProject group: Exploit mitigations

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions