fd_server: reduce footprint of RawFd usage
Bug: 243500154
Test: TH
Change-Id: Ib89d04588d01106d741ea43b42c1586cf05a14c4
diff --git a/authfs/fd_server/src/aidl.rs b/authfs/fd_server/src/aidl.rs
index 0859a7a..01b8209 100644
--- a/authfs/fd_server/src/aidl.rs
+++ b/authfs/fd_server/src/aidl.rs
@@ -27,7 +27,7 @@
use std::fs::File;
use std::io;
use std::os::unix::fs::FileExt;
-use std::os::unix::io::{AsRawFd, FromRawFd, OwnedFd, RawFd};
+use std::os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, OwnedFd};
use std::path::{Component, Path, PathBuf, MAIN_SEPARATOR};
use std::sync::{Arc, RwLock};
@@ -266,10 +266,10 @@
self.insert_new_fd(dir_fd, |config| match config {
FdConfig::InputDir(dir) => {
- let file = open_readonly_at(dir.as_raw_fd(), &path_buf).map_err(new_errno_error)?;
+ let file = open_readonly_at(dir.as_fd(), &path_buf).map_err(new_errno_error)?;
let metadata_path_buf = get_fsverity_metadata_path(&path_buf);
- let metadata = open_readonly_at(dir.as_raw_fd(), &metadata_path_buf)
+ let metadata = open_readonly_at(dir.as_fd(), &metadata_path_buf)
.ok()
.and_then(|f| parse_fsverity_metadata(f).ok());
@@ -399,8 +399,8 @@
Status::new_service_specific_error_str(errno as i32, Some(errno.desc()))
}
-fn open_readonly_at(dir_fd: RawFd, path: &Path) -> nix::Result<File> {
- let new_fd = openat(dir_fd, path, OFlag::O_RDONLY, Mode::empty())?;
+fn open_readonly_at(dir_fd: BorrowedFd, path: &Path) -> nix::Result<File> {
+ let new_fd = openat(dir_fd.as_raw_fd(), path, OFlag::O_RDONLY, Mode::empty())?;
// SAFETY: new_fd is just created successfully and not owned.
let new_file = unsafe { File::from_raw_fd(new_fd) };
Ok(new_file)