1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:38:10 +00:00

Kernel: Require "tty" for ioctl() on TTY and MasterPTY

SystemServer now pledges "tty" since it's used when spawning services.
This commit is contained in:
Andreas Kling 2020-01-12 13:28:45 +01:00
parent 35c84504cd
commit 62a191b59a
3 changed files with 3 additions and 1 deletions

View file

@ -98,6 +98,7 @@ void MasterPTY::close()
int MasterPTY::ioctl(FileDescription& description, unsigned request, unsigned arg) int MasterPTY::ioctl(FileDescription& description, unsigned request, unsigned arg)
{ {
REQUIRE_PROMISE(tty);
if (!m_slave) if (!m_slave)
return -EIO; return -EIO;
if (request == TIOCSWINSZ || request == TIOCGPGRP) if (request == TIOCSWINSZ || request == TIOCGPGRP)

View file

@ -242,6 +242,7 @@ void TTY::set_termios(const termios& t)
int TTY::ioctl(FileDescription&, unsigned request, unsigned arg) int TTY::ioctl(FileDescription&, unsigned request, unsigned arg)
{ {
REQUIRE_PROMISE(tty);
auto& process = current->process(); auto& process = current->process();
pid_t pgid; pid_t pgid;
termios* tp; termios* tp;

View file

@ -77,7 +77,7 @@ static void mount_all_filesystems()
int main(int, char**) int main(int, char**)
{ {
if (pledge("stdio proc exec unix rpath wpath cpath chown fattr id", nullptr) < 0) { if (pledge("stdio proc exec tty unix rpath wpath cpath chown fattr id", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;
} }