转自 Rust 视觉。因过去I/O 中的AsRawFd、FromRawFd等 unsafe 特征不能保证文件资源描述符读写的唯一性,所以很容易 I/O 边界造成安全问题,从而破坏 Rust 内存安全协议。
https://github.com/rust-lang/rust/issues/87074#issuecomment-1138177267
张汉东老师在《RFC 导读 | 构建安全的 I/O》
这些原始句柄可以被视为具有类似风险的原始指针。虽然获得原始指针是安全的,但如果原始指针不是有效指针,或者超过指向内存的生命周期,那么引用原始指针可能会调用未定义的行为。[^1]
洛佳是 Rust 嵌入式领域的资深专家,RustSBI主要作者。他指出,尽管 RISC-V 它是一个公开的指令集标准,但目前用于 RISC-V 启动和引导操作系统的主流实现 OpenSBI 实际上是西数公司的垄断产品,因此开始实现 RustSBI,打破他们的垄断。
此外,洛佳还指出,RustSBI 已经支持了 SBI 1.0 规范,而 OpenSBI 仍然只支持 0.2 规范。
评论连接:https://whycan.com/t_8083.html#p78772
From 日报小组 侯盛鑫 坏姐姐
社区学习交流平台订阅:
Rust.cc 论坛: 支持 rss
微信公众号:Rust 语言中文社区