diff --git a/Kernel/Storage/RamdiskController.cpp b/Kernel/Storage/RamdiskController.cpp index 0ffe1473647..e1b4ccc9e77 100644 --- a/Kernel/Storage/RamdiskController.cpp +++ b/Kernel/Storage/RamdiskController.cpp @@ -70,7 +70,10 @@ RamdiskController::RamdiskController() if (used_memory_range.type == UsedMemoryRangeType::BootModule) { size_t length = page_round_up(used_memory_range.end.get()) - used_memory_range.start.get(); auto region = MemoryManager::the().allocate_kernel_region(used_memory_range.start, length, "Ramdisk", Region::Access::Read | Region::Access::Write); - m_devices.append(RamdiskDevice::create(*this, move(region), 6, count)); + if (!region) + dmesgln("RamdiskController: Failed to allocate kernel region of size {}", length); + else + m_devices.append(RamdiskDevice::create(*this, region.release_nonnull(), 6, count)); count++; } } diff --git a/Kernel/Storage/RamdiskDevice.cpp b/Kernel/Storage/RamdiskDevice.cpp index 170acd4844f..bdd0f85b1cf 100644 --- a/Kernel/Storage/RamdiskDevice.cpp +++ b/Kernel/Storage/RamdiskDevice.cpp @@ -32,12 +32,12 @@ namespace Kernel { -NonnullRefPtr RamdiskDevice::create(const RamdiskController& controller, OwnPtr&& region, int major, int minor) +NonnullRefPtr RamdiskDevice::create(const RamdiskController& controller, NonnullOwnPtr&& region, int major, int minor) { return adopt(*new RamdiskDevice(controller, move(region), major, minor)); } -RamdiskDevice::RamdiskDevice(const RamdiskController& controller, OwnPtr&& region, int major, int minor) +RamdiskDevice::RamdiskDevice(const RamdiskController& controller, NonnullOwnPtr&& region, int major, int minor) : StorageDevice(controller, major, minor, 512, region->size() / 512) , m_region(move(region)) { diff --git a/Kernel/Storage/RamdiskDevice.h b/Kernel/Storage/RamdiskDevice.h index 9de4ad77483..f34b639d5dd 100644 --- a/Kernel/Storage/RamdiskDevice.h +++ b/Kernel/Storage/RamdiskDevice.h @@ -37,8 +37,8 @@ class RamdiskDevice final : public StorageDevice { friend class RamdiskController; AK_MAKE_ETERNAL public: - static NonnullRefPtr create(const RamdiskController&, OwnPtr&& region, int major, int minor); - RamdiskDevice(const RamdiskController&, OwnPtr&&, int major, int minor); + static NonnullRefPtr create(const RamdiskController&, NonnullOwnPtr&& region, int major, int minor); + RamdiskDevice(const RamdiskController&, NonnullOwnPtr&&, int major, int minor); virtual ~RamdiskDevice() override; // ^StorageDevice @@ -55,7 +55,7 @@ public: Lock m_lock { "RamdiskDevice" }; - OwnPtr m_region; + NonnullOwnPtr m_region; }; }