diff --git a/kernel/base/vm/los_vm_phys.c b/kernel/base/vm/los_vm_phys.c index 0ee98d05a892fed537c75159bc37331355c04026..a072caa7f258fe3f966f76154b12a218d86a3438 100644 --- a/kernel/base/vm/los_vm_phys.c +++ b/kernel/base/vm/los_vm_phys.c @@ -306,6 +306,7 @@ LosVmPage *OsVmPhysPagesAlloc(struct VmPhysSeg *seg, size_t nPages) DONE: OsVmPhysFreeListDelUnsafe(page); OsVmPhysPagesSpiltUnsafe(page, order, newOrder); + OsVmPhysPagesFreeContiguous(page + nPages, VM_ORDER_TO_PAGES(order) - nPages); return page; }