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)
