Check rollback of memory mapping succeeds.
This is not expected to fail as there should always be memory available.
If a mapping frees memory, it will be available from the local pool. If
a mapping allocates memory, it will have been freed by the defrag.
Change-Id: I7590dc0ee42fffa71a8fe1e5a2199161bd9c9002
diff --git a/src/api.c b/src/api.c
index fea419a..3726107 100644
--- a/src/api.c
+++ b/src/api.c
@@ -645,7 +645,8 @@
*/
fail_undo_send:
vm_locked.vm->mailbox.send = NULL;
- mm_unmap(mm_stage1_locked, pa_send_begin, pa_send_end, local_page_pool);
+ CHECK(mm_unmap(mm_stage1_locked, pa_send_begin, pa_send_end,
+ local_page_pool));
fail:
ret = false;
@@ -709,12 +710,14 @@
* in the local pool.
*/
fail_undo_send_and_recv:
- mm_vm_identity_map(&vm_locked.vm->ptable, pa_recv_begin, pa_recv_end,
- orig_recv_mode, NULL, &local_page_pool);
+ CHECK(mm_vm_identity_map(&vm_locked.vm->ptable, pa_recv_begin,
+ pa_recv_end, orig_recv_mode, NULL,
+ &local_page_pool));
fail_undo_send:
- mm_vm_identity_map(&vm_locked.vm->ptable, pa_send_begin, pa_send_end,
- orig_send_mode, NULL, &local_page_pool);
+ CHECK(mm_vm_identity_map(&vm_locked.vm->ptable, pa_send_begin,
+ pa_send_end, orig_send_mode, NULL,
+ &local_page_pool));
fail:
ret = false;
@@ -1449,8 +1452,8 @@
goto out;
fail_return_to_sender:
- mm_vm_identity_map(&from->ptable, pa_begin, pa_end, orig_from_mode,
- NULL, &local_page_pool);
+ CHECK(mm_vm_identity_map(&from->ptable, pa_begin, pa_end,
+ orig_from_mode, NULL, &local_page_pool));
fail:
ret = -1;