Browse Source

Kernel: Assert that device major/minor hasn't already been registered

It would be a bug to have multiple devices with the same major/minor
so let's have an assertion for that.
Andreas Kling 5 năm trước cách đây
mục cha
commit
2e38df7bd1
1 tập tin đã thay đổi với 3 bổ sung1 xóa
  1. 3 1
      Kernel/Devices/Device.cpp

+ 3 - 1
Kernel/Devices/Device.cpp

@@ -29,7 +29,9 @@ Device::Device(unsigned major, unsigned minor)
     : m_major(major)
     : m_major(major)
     , m_minor(minor)
     , m_minor(minor)
 {
 {
-    all_devices().set(encoded_device(m_major, m_minor), this);
+    u32 device_id = encoded_device(major, minor);
+    ASSERT(!all_devices().contains(device_id));
+    all_devices().set(device_id, this);
 }
 }
 
 
 Device::~Device()
 Device::~Device()