diff --git a/vm/memblock.c b/vm/memblock.c index c654554..aed712e 100644 --- a/vm/memblock.c +++ b/vm/memblock.c @@ -267,7 +267,12 @@ void *memblock_alloc(size_t size) memblock_double_capacity(&memblock.reserved); } - return (void *)(do_alloc(size) + memblock.m_voffset); + phys_addr_t p = do_alloc(size); + if (p) { + p += memblock.m_voffset; + } + + return (void *)p; } phys_addr_t memblock_alloc_phys(size_t size)