mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
Kernel: Require StorageDevice reference for StorageDevicePartition
Allowing creation of StorageDevicePartition objects for any arbitrary BlockDevice objects means that we could technically create a StorageDevicePartition for another StorageDevicePartition which is obviously not the intention for this code. Instead, require to pass a StorageDevice reference to ensure this cannot happen.
This commit is contained in:
parent
f08f339e9a
commit
c216e7439f
2 changed files with 7 additions and 5 deletions
|
@ -6,12 +6,13 @@
|
|||
|
||||
#include <Kernel/Debug.h>
|
||||
#include <Kernel/Devices/DeviceManagement.h>
|
||||
#include <Kernel/Devices/Storage/StorageDevice.h>
|
||||
#include <Kernel/Devices/Storage/StorageDevicePartition.h>
|
||||
#include <Kernel/FileSystem/OpenFileDescription.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
NonnullLockRefPtr<StorageDevicePartition> StorageDevicePartition::create(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||
NonnullLockRefPtr<StorageDevicePartition> StorageDevicePartition::create(StorageDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||
{
|
||||
auto partition_or_error = DeviceManagement::try_create_device<StorageDevicePartition>(device, minor_number, metadata);
|
||||
// FIXME: Find a way to propagate errors
|
||||
|
@ -19,7 +20,7 @@ NonnullLockRefPtr<StorageDevicePartition> StorageDevicePartition::create(BlockDe
|
|||
return partition_or_error.release_value();
|
||||
}
|
||||
|
||||
StorageDevicePartition::StorageDevicePartition(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||
StorageDevicePartition::StorageDevicePartition(StorageDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||
: BlockDevice(100, minor_number, device.block_size())
|
||||
, m_device(device)
|
||||
, m_metadata(metadata)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue