diff --git a/src/backend/libc/mount/syscalls.rs b/src/backend/libc/mount/syscalls.rs index 26cdb52dc..724511480 100644 --- a/src/backend/libc/mount/syscalls.rs +++ b/src/backend/libc/mount/syscalls.rs @@ -50,7 +50,7 @@ pub(crate) fn fsmount( fs_fd: BorrowedFd<'_>, flags: super::types::FsMountFlags, attr_flags: super::types::MountAttrFlags, -) -> io::Result<()> { +) -> io::Result { syscall! { fn fsmount( fs_fd: c::c_int, @@ -58,7 +58,7 @@ pub(crate) fn fsmount( attr_flags: c::c_uint ) via SYS_fsmount -> c::c_int } - unsafe { ret(fsmount(borrowed_fd(fs_fd), flags.bits(), attr_flags.bits())) } + unsafe { ret_owned_fd(fsmount(borrowed_fd(fs_fd), flags.bits(), attr_flags.bits())) } } #[cfg(linux_kernel)] diff --git a/src/backend/linux_raw/mount/syscalls.rs b/src/backend/linux_raw/mount/syscalls.rs index 77c2a181d..5cb80cc09 100644 --- a/src/backend/linux_raw/mount/syscalls.rs +++ b/src/backend/linux_raw/mount/syscalls.rs @@ -51,8 +51,8 @@ pub(crate) fn fsmount( fs_fd: BorrowedFd<'_>, flags: super::types::FsMountFlags, attr_flags: super::types::MountAttrFlags, -) -> io::Result<()> { - unsafe { ret(syscall_readonly!(__NR_fsmount, fs_fd, flags, attr_flags)) } +) -> io::Result { + unsafe { ret_owned_fd(syscall_readonly!(__NR_fsmount, fs_fd, flags, attr_flags)) } } #[cfg(feature = "mount")] diff --git a/src/mount/fsopen.rs b/src/mount/fsopen.rs index 581f03782..54ba4011f 100644 --- a/src/mount/fsopen.rs +++ b/src/mount/fsopen.rs @@ -28,7 +28,7 @@ pub fn fsmount( fs_fd: BorrowedFd<'_>, flags: FsMountFlags, attr_flags: MountAttrFlags, -) -> io::Result<()> { +) -> io::Result { backend::mount::syscalls::fsmount(fs_fd, flags, attr_flags) }