LibCore: Add syscall wrapper for umount()

This commit is contained in:
Federico Guerinoni 2022-01-21 23:10:59 +01:00 committed by Idan Horowitz
parent 96d2c3a827
commit 2291ef6c3c
Notes: sideshowbarker 2024-07-17 20:27:21 +09:00
2 changed files with 10 additions and 0 deletions

View file

@ -122,6 +122,15 @@ ErrorOr<void> mount(int source_fd, StringView target, StringView fs_type, int fl
HANDLE_SYSCALL_RETURN_VALUE("mount", rc, {});
}
ErrorOr<void> umount(StringView mount_point)
{
if (mount_point.is_null())
return Error::from_errno(EFAULT);
int rc = syscall(SC_umount, mount_point.characters_without_null_termination(), mount_point.length());
HANDLE_SYSCALL_RETURN_VALUE("umount", rc, {});
}
ErrorOr<long> ptrace(int request, pid_t tid, void* address, void* data)
{
auto rc = ::ptrace(request, tid, address, data);

View file

@ -40,6 +40,7 @@ ErrorOr<int> recvfd(int sockfd, int options);
ErrorOr<void> ptrace_peekbuf(pid_t tid, void const* tracee_addr, Bytes destination_buf);
ErrorOr<void> setgroups(Span<gid_t const>);
ErrorOr<void> mount(int source_fd, StringView target, StringView fs_type, int flags);
ErrorOr<void> umount(StringView mount_point);
ErrorOr<long> ptrace(int request, pid_t tid, void* address, void* data);
ErrorOr<void> disown(pid_t pid);
#endif