1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:28:10 +00:00

Kernel: Stop adopting non-heap memory into OwnPtrs in VirtIO::Queues

This commit is contained in:
Idan Horowitz 2022-01-20 21:20:11 +02:00 committed by Andreas Kling
parent d65347d39d
commit 17584d8a84
2 changed files with 9 additions and 9 deletions

View file

@ -25,9 +25,9 @@ Queue::Queue(u16 queue_size, u16 notify_offset)
// TODO: ensure alignment!!!
u8* ptr = m_queue_region->vaddr().as_ptr();
memset(ptr, 0, m_queue_region->size());
m_descriptors = adopt_own_if_nonnull(reinterpret_cast<QueueDescriptor*>(ptr));
m_driver = adopt_own_if_nonnull(reinterpret_cast<QueueDriver*>(ptr + size_of_descriptors));
m_device = adopt_own_if_nonnull(reinterpret_cast<QueueDevice*>(ptr + size_of_descriptors + size_of_driver));
m_descriptors = reinterpret_cast<QueueDescriptor*>(ptr);
m_driver = reinterpret_cast<QueueDriver*>(ptr + size_of_descriptors);
m_device = reinterpret_cast<QueueDevice*>(ptr + size_of_descriptors + size_of_driver);
for (auto i = 0; i + 1 < queue_size; i++) {
m_descriptors[i].next = i + 1; // link all of the descriptors in a line