diff --git a/Base/etc/fstab b/Base/etc/fstab index 30fd77cc7c2..5da278f29d8 100644 --- a/Base/etc/fstab +++ b/Base/etc/fstab @@ -9,5 +9,4 @@ /var /var bind bind,nodev,nosuid /www /www bind bind,nodev,nosuid -none /proc proc nosuid none /tmp tmp nodev,nosuid diff --git a/Userland/Services/SystemServer/main.cpp b/Userland/Services/SystemServer/main.cpp index ce07c900e2b..4931a7677ba 100644 --- a/Userland/Services/SystemServer/main.cpp +++ b/Userland/Services/SystemServer/main.cpp @@ -323,10 +323,15 @@ static void populate_devfs() umask(old_mask); } -static void prepare_devfs() +static void prepare_synthetic_filesystems() { // FIXME: Find a better way to all of this stuff, without hardcoding all of this! - int rc = mount(-1, "/sys", "sys", 0); + int rc = mount(-1, "/proc", "proc", MS_NOSUID); + if (rc != 0) { + VERIFY_NOT_REACHED(); + } + + rc = mount(-1, "/sys", "sys", 0); if (rc != 0) { VERIFY_NOT_REACHED(); } @@ -445,14 +450,14 @@ static void create_tmp_coredump_directory() int main(int, char**) { - prepare_devfs(); + mount_all_filesystems(); + prepare_synthetic_filesystems(); if (pledge("stdio proc exec tty accept unix rpath wpath cpath chown fattr id sigaction", nullptr) < 0) { perror("pledge"); return 1; } - mount_all_filesystems(); create_tmp_coredump_directory(); parse_boot_mode();