mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-17 00:23:00 +00:00
Kernel: Remove SmapDisablers in sys$getsockname() and sys$getpeername()
Instead use the user/kernel copy helpers to only copy the minimum stuff needed from to/from userspace. Based on work started by Brian Gianforcaro.
This commit is contained in:
parent
7454926765
commit
f4302b58fb
Notes:
sideshowbarker
2024-07-19 09:46:27 +09:00
Author: https://github.com/awesomekling
Commit: f4302b58fb
3 changed files with 44 additions and 36 deletions
|
@ -263,8 +263,8 @@ public:
|
|||
ssize_t sys$recvfrom(const Syscall::SC_recvfrom_params*);
|
||||
int sys$getsockopt(const Syscall::SC_getsockopt_params*);
|
||||
int sys$setsockopt(const Syscall::SC_setsockopt_params*);
|
||||
int sys$getsockname(int sockfd, sockaddr* addr, socklen_t* addrlen);
|
||||
int sys$getpeername(int sockfd, sockaddr* addr, socklen_t* addrlen);
|
||||
int sys$getsockname(const Syscall::SC_getsockname_params*);
|
||||
int sys$getpeername(const Syscall::SC_getpeername_params*);
|
||||
int sys$sched_setparam(pid_t pid, const struct sched_param* param);
|
||||
int sys$sched_getparam(pid_t pid, struct sched_param* param);
|
||||
int sys$create_thread(void* (*)(void*), void* argument, const Syscall::SC_create_thread_params*);
|
||||
|
@ -302,6 +302,9 @@ public:
|
|||
int sys$pledge(const Syscall::SC_pledge_params*);
|
||||
int sys$unveil(const Syscall::SC_unveil_params*);
|
||||
|
||||
template<bool sockname, typename Params>
|
||||
int get_sock_or_peer_name(const Params&);
|
||||
|
||||
static void initialize();
|
||||
|
||||
[[noreturn]] void crash(int signal, u32 eip);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue