Преглед на файлове

Kernel: File::open() should apply r/w mode from the provided options

This has been a FIXME for a long time. We now apply the provided
read/write permissions to the constructed FileDescription when opening
a File object via File::open().
Andreas Kling преди 5 години
родител
ревизия
b5da0b78eb
променени са 2 файла, в които са добавени 6 реда и са изтрити 4 реда
  1. 3 2
      Kernel/FileSystem/File.cpp
  2. 3 2
      Kernel/TTY/PTYMultiplexer.cpp

+ 3 - 2
Kernel/FileSystem/File.cpp

@@ -11,8 +11,9 @@ File::~File()
 
 KResultOr<NonnullRefPtr<FileDescription>> File::open(int options)
 {
-    UNUSED_PARAM(options);
-    return FileDescription::create(*this);
+    auto description = FileDescription::create(*this);
+    description->set_rw_mode(options);
+    return description;
 }
 
 void File::close()

+ 3 - 2
Kernel/TTY/PTYMultiplexer.cpp

@@ -30,7 +30,6 @@ PTYMultiplexer::~PTYMultiplexer()
 
 KResultOr<NonnullRefPtr<FileDescription>> PTYMultiplexer::open(int options)
 {
-    UNUSED_PARAM(options);
     LOCKER(m_lock);
     if (m_freelist.is_empty())
         return KResult(-EBUSY);
@@ -39,7 +38,9 @@ KResultOr<NonnullRefPtr<FileDescription>> PTYMultiplexer::open(int options)
 #ifdef PTMX_DEBUG
     dbgprintf("PTYMultiplexer::open: Vending master %u\n", master->index());
 #endif
-    return FileDescription::create(move(master));
+    auto description = FileDescription::create(move(master));
+    description->set_rw_mode(options);
+    return description;
 }
 
 void PTYMultiplexer::notify_master_destroyed(Badge<MasterPTY>, unsigned index)