diff --git a/Kernel/FileSystem/VirtualFileSystem.cpp b/Kernel/FileSystem/VirtualFileSystem.cpp index 25029dc0214..aa7b94571ab 100644 --- a/Kernel/FileSystem/VirtualFileSystem.cpp +++ b/Kernel/FileSystem/VirtualFileSystem.cpp @@ -389,10 +389,8 @@ KResultOr> VFS::create(StringView path, int optio if (result.is_error()) return result; - if (!is_socket(mode) && !is_fifo(mode) && !is_block_device(mode) && !is_character_device(mode)) { - // Turn it into a regular file. (This feels rather hackish.) - mode |= 0100000; - } + if (!is_regular_file(mode) && !is_socket(mode) && !is_fifo(mode) && !is_block_device(mode) && !is_character_device(mode)) + return EINVAL; auto& parent_inode = parent_custody.inode(); auto current_process = Process::current();