These reviews are from cargo-vet. To add your review, set up cargo-vet and submit your URL to its registry.

The current version of redox_syscall is 0.5.1.

cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.

safe-to-deploy (implies safe-to-run)

This crate will not introduce a serious security vulnerability to production software exposed to untrusted input. More…

safe-to-run
Implied by other criteria

This crate can be compiled, run, and tested on a local workstation or in controlled automation without surprising consequences. More…

unknown

May have been packaged automatically without a review


This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev.

The current version of redox_syscall is 0.5.1.

0.1.56 (older version) Rating: Negative Thoroughness: Low Understanding: Low

by MaulingMonkey on 2019-07-24

Exposes unsound APIs, lots of unverified syscalls.

Reviewed:

src\arch*.rs: Skimmed... looks reasonable, but didn't verify correct instructions / register invalidation.

src\io\dma.rs: Some unsafe... looks correct, but not thoroughly tested. src\io\io.rs: +1 src\io\mmio.rs: UNSOUND (can construct uninitialized() T via "safe" Mmio::new()!) src\io\mod.rs: +1 src\io\pio.rs: Some unsafe... looks reasonable, but didn't verify correct instructions.

src\scheme\generate.sh: +1 src\scheme\mod.rs: +1 src\scheme\scheme*.rs: UNSOUND (can construct arbitrary slices from arbitrary Packet s via Scheme*::handle)

.cargo_vcs_info.json: +1 .cargo-ok: +1 .gitlab-ci.yml: +1 Cargo.toml: +1 Cargo.toml.orig: +1 LICENSE: +1 README.md: +1

Skimmed:

src\call.rs: Lots of unsafe syscalls... unverified. src\data.rs: UNSOUND (Map deref etc.) src\error.rs: No tests for STR_ERROR, but at least it's sound. src\flag.rs: Sound, magic constant city, meh. src\lib.rs: LEAKS UNSOUND TRAITS into public interface! src\number.rs: Safe, magic constant city. src\tests.rs: Unsafe, but only #[test]s


Lib.rs has been able to verify that all files in the crate's tarball are in the crate's repository with a git tag matching the version. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.

Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.

To review the actual code of the crate, it's best to use cargo crev open redox_syscall. Alternatively, you can download the tarball of redox_syscall v0.5.1 or view the source online.