面向 Morello 的 Rust:始终在线内存安全,即使在非安全代码中

Lobsters Hottest 论文

摘要

本文介绍了一种针对 Morello 能力硬件架构修改的 Rust 编译器,通过利用硬件能力,实现即使在非安全代码中也始终在线内存安全。

<p><a href="https://lobste.rs/s/hbgzbn/rust_for_morello_always_on_memory_safety">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/20 15:26

来源:https://drops.dagstuhl.de/storage/00lipics/lipics-vol263-ecoop2023/LIPIcs.ECOOP.2023.39/LIPIcs.ECOOP.2023.39.pdf 1 引言 2 背景 2.1 Rust 2.1.1 移动与丢弃 2.1.2 引用与生命周期 2.1.3 不安全代码 2.2 Rust 编译器 2.3 能力硬件 2.3.1 Morello 原型 3 对 Rust 编译器及标准库的调整 3.1 Rust 语义开放问题:usize 3.2 目标规格 3.3 常量求值 3.4 指针代码生成 3.5 对 LLVM 的调整 3.6 MPSC 3.7 FFI 类型 4 性能分析方法论 4.1 测试硬件 4.2 操作系统 4.3 禁用边界检查 4.4 cargo 基准测试 4.5 代码行数 4.6 测试套件 5 结果 5.1 软件边界检查的成本 5.2 硬件边界检查的成本 5.3 基准测试 5.4 结果的有效性 5.4.1 原型硬件 5.4.2 基准测试套件的选择 6 相关工作 6.1 Rust 与类型安全系统编程 6.2 先前将 Rust 移植到 CHERI 的工作 6.3 边界检查 7 未来工作 8 结论 A 测试套件

相似文章

内存安全是生死攸关的问题

Lobsters Hottest

作者认为,内存不安全的开源软件极易受到即将到来的人工智能漏洞查找代理的攻击,这使内存安全成为道德义务,并且Rust必须作为领先且零开销的内存安全语言取得成功。

内存安全绝对主义者

Lobsters Hottest

本文批评了编程语言辩论中的内存安全绝对主义,认为像 Fil-C 这样的新方法也有权衡,而将 Rust 视为不安全忽略了实际好处。

安全 Rust 的边界

Lobsters Hottest

TokioConf 2026 的一篇演讲/博客文章探讨了如何通过为复杂指针结构实现追踪式垃圾回收,将安全 Rust 推向极限,并分享处理循环引用与原始指针 GC 设计的技巧。