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