diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 011ca41250..7a3b7ba709 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -1863,6 +1863,9 @@ int Process::sys$open(const Syscall::SC_open_params* user_params) auto options = params.options; auto mode = params.mode; + if (options & O_NOFOLLOW_NOERROR) + return -EINVAL; + if ((options & O_RDWR) || (options & O_WRONLY)) REQUIRE_PROMISE(wpath); else @@ -1905,6 +1908,9 @@ int Process::sys$openat(const Syscall::SC_openat_params* user_params) int options = params.options; u16 mode = params.mode; + if (options & O_NOFOLLOW_NOERROR) + return -EINVAL; + if ((options & O_RDWR) || (options & O_WRONLY)) REQUIRE_PROMISE(wpath); else