Kernel: Get rid of SmapDisabler in sys$fstat()

This commit is contained in:
Andreas Kling 2020-03-10 13:34:24 +01:00
parent ddb5c995c6
commit 3803196edb
Notes: sideshowbarker 2024-07-19 08:47:16 +09:00
2 changed files with 7 additions and 4 deletions

View file

@ -76,7 +76,6 @@ FileDescription::~FileDescription()
KResult FileDescription::fstat(stat& buffer)
{
SmapDisabler disabler;
if (is_fifo()) {
memset(&buffer, 0, sizeof(buffer));
buffer.st_mode = 001000;

View file

@ -1818,15 +1818,19 @@ int Process::sys$fcntl(int fd, int cmd, u32 arg)
return 0;
}
int Process::sys$fstat(int fd, stat* statbuf)
int Process::sys$fstat(int fd, stat* user_statbuf)
{
REQUIRE_PROMISE(stdio);
if (!validate_write_typed(statbuf))
if (!validate_write_typed(user_statbuf))
return -EFAULT;
auto description = file_description(fd);
if (!description)
return -EBADF;
return description->fstat(*statbuf);
stat buffer;
memset(&buffer, 0, sizeof(buffer));
int rc = description->fstat(buffer);
copy_to_user(user_statbuf, &buffer);
return rc;
}
int Process::sys$stat(const Syscall::SC_stat_params* user_params)