diff --git a/kernel/src/memory/UserVM.cpp b/kernel/src/memory/UserVM.cpp index 0a5aa440..9158d113 100644 --- a/kernel/src/memory/UserVM.cpp +++ b/kernel/src/memory/UserVM.cpp @@ -49,13 +49,9 @@ Result> UserVM::clone() for (const auto* region : m_regions) { - auto* copied_region = TRY(make()); - copied_region->start = region->start; - copied_region->end = region->end; - copied_region->count = region->count; - copied_region->used = region->used; - copied_region->persistent = region->persistent; - ptr->m_regions.append(copied_region); + auto* new_region = TRY(make()); + memcpy(new_region, region, sizeof(*region)); + ptr->m_regions.append(new_region); } return move(ptr);