mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 13:07:46 +00:00
Kernel: Do some basic metadata integrity verification in kmalloc/kfree
Use BitmapView::set_range_and_verify_that_all_bits_flip() to validate the heap chunk metadata bits as we go through them in kmalloc/kfree.
This commit is contained in:
parent
c268df79e6
commit
86a6366749
1 changed files with 2 additions and 2 deletions
|
@ -92,7 +92,7 @@ public:
|
|||
u8* ptr = a->data;
|
||||
a->allocation_size_in_chunks = chunks_needed;
|
||||
|
||||
m_bitmap.set_range(first_chunk.value(), chunks_needed, true);
|
||||
m_bitmap.set_range_and_verify_that_all_bits_flip(first_chunk.value(), chunks_needed, true);
|
||||
|
||||
m_allocated_chunks += chunks_needed;
|
||||
if constexpr (HEAP_SCRUB_BYTE_ALLOC != 0) {
|
||||
|
@ -113,7 +113,7 @@ public:
|
|||
VERIFY(m_bitmap.get(start));
|
||||
|
||||
VERIFY((u8*)a + a->allocation_size_in_chunks * CHUNK_SIZE <= m_chunks + m_total_chunks * CHUNK_SIZE);
|
||||
m_bitmap.set_range(start, a->allocation_size_in_chunks, false);
|
||||
m_bitmap.set_range_and_verify_that_all_bits_flip(start, a->allocation_size_in_chunks, false);
|
||||
|
||||
VERIFY(m_allocated_chunks >= a->allocation_size_in_chunks);
|
||||
m_allocated_chunks -= a->allocation_size_in_chunks;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue