mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:07:35 +00:00
Kernel: Oops, recvfrom() is not quite ready for SMAP protections yet
This commit is contained in:
parent
eede6cfd06
commit
83f59419cd
1 changed files with 1 additions and 1 deletions
|
@ -2936,6 +2936,7 @@ ssize_t Process::sys$recvfrom(const Syscall::SC_recvfrom_params* user_params)
|
||||||
sockaddr* addr = params.addr;
|
sockaddr* addr = params.addr;
|
||||||
socklen_t* addr_length = params.addr_length;
|
socklen_t* addr_length = params.addr_length;
|
||||||
|
|
||||||
|
SmapDisabler disabler;
|
||||||
if (!validate(params.buffer))
|
if (!validate(params.buffer))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
if (addr_length) {
|
if (addr_length) {
|
||||||
|
@ -2957,7 +2958,6 @@ ssize_t Process::sys$recvfrom(const Syscall::SC_recvfrom_params* user_params)
|
||||||
if (flags & MSG_DONTWAIT)
|
if (flags & MSG_DONTWAIT)
|
||||||
description->set_blocking(false);
|
description->set_blocking(false);
|
||||||
|
|
||||||
SmapDisabler disabler;
|
|
||||||
auto nrecv = socket.recvfrom(*description, params.buffer.data, params.buffer.size, flags, addr, addr_length);
|
auto nrecv = socket.recvfrom(*description, params.buffer.data, params.buffer.size, flags, addr, addr_length);
|
||||||
if (flags & MSG_DONTWAIT)
|
if (flags & MSG_DONTWAIT)
|
||||||
description->set_blocking(original_blocking);
|
description->set_blocking(original_blocking);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue