1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 23:58:11 +00:00

LibCore: Add syscall wrapper for ptrace()

This commit is contained in:
Andreas Kling 2021-12-25 11:04:40 +01:00
parent e815bf5d1f
commit 2bd1a62ce1
2 changed files with 8 additions and 1 deletions

View file

@ -8,7 +8,6 @@
#include <AK/String.h>
#include <LibCore/System.h>
#include <LibSystem/syscall.h>
#include <cstring>
#include <fcntl.h>
#include <stdarg.h>
#include <sys/ioctl.h>
@ -107,6 +106,13 @@ ErrorOr<void> mount(int source_fd, StringView target, StringView fs_type, int fl
HANDLE_SYSCALL_RETURN_VALUE("mount", rc, {});
}
ErrorOr<long> ptrace(int request, pid_t tid, void* address, void* data)
{
auto rc = ::ptrace(request, tid, address, data);
if (rc < 0)
return Error::from_syscall("ptrace"sv, -errno);
return rc;
}
#endif
ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action)

View file

@ -29,6 +29,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<long> ptrace(int request, pid_t tid, void* address, void* data);
#endif
ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action);