Commit Graph

8 Commits (13cea725352ea4559c32a782c7d3fd560683a4d0)

Author SHA1 Message Date
Andrés Medina 13cea72535 aya: Use AsFd when attaching fds to programs
This is a breaking change but adds another level of safety to ensure
the file descriptor we receive is valid. Additionally, this allows
aya to internally easily duplicate this file descriptor using std
library methods instead of manually calling `dup` which doesn't
duplicate with the CLOSE_ON_EXEC flag that is standard pratice to
avoid leaking the file descriptor when exec'ing.
2 years ago
Andrés Medina 02af9a9f24 aya: Use OwnedFd for Program related actions
This commit reveals but does not address a file descriptor leak in
LircLink2::query. This function returns a list of `LircLink`s where
each of them have a program file descriptor that is not going to be
closed. This commit does not add this leak; it merely makes it louder
in the code.
2 years ago
Andrés Medina 8ebf0ac327
aya: Use OwnedFd in FdLink. 2 years ago
Addison Crump d8709de9f2
Extract trait SymbolResolver 2 years ago
Tamir Duberstein a0af7e0b2f
programs: make `loaded_programs` opaque 2 years ago
Tamir Duberstein de8519a380
sys: extract common SyscallError
We currently have 4 copies of this.
2 years ago
Tamir Duberstein 8961be9526
Do not escape newlines on Err(LoadError).unwrap()
Wrap verifier logs in a newtype whose `Debug` impl emits unescaped
newlines. This improves ergonomics in tests where we `Result::unwrap()`
those load errors; when these fail today they emit the errors with
newlines escaped, making them incredibly difficult to read.
2 years ago
Dave Tucker f833f1fc1d xtask: Add cargo-public-api
Adds cargo-public-api. This allows for public API changes to get caught
in CI, requiring new changes to be "blessed" by using:

  cargo xtask public-api --bless

When this file is changed for aya, Alessandro will need to review the PR.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago