summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-22 01:30:16 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-22 01:30:16 +0200
commit755419de31af8510a8c0eca07348516acd918e6b (patch)
treee4a1cc194f4c0429fec676b2d41ca9bfa147a1ff
parentd0bf36018b98f3f7a79536b875baa91ca3c8fe5e (diff)
rumpdisk: Add missing deallocation in device_write
* rumpdisk/block-rump.c (rumpdisk_device_write): Call vm_deallocate after writing the data.
-rw-r--r--rumpdisk/block-rump.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c
index 80cdc350..2c083cb2 100644
--- a/rumpdisk/block-rump.c
+++ b/rumpdisk/block-rump.c
@@ -288,6 +288,8 @@ rumpdisk_device_write (void *d, mach_port_t reply_port,
return D_INVALID_OPERATION;
written = rump_sys_pwrite (bd->rump_fd, (const void *)data, (size_t)count, (off_t)bn * bd->block_size);
+ vm_deallocate (mach_task_self (), (vm_address_t) data, count);
+
if (written < 0)
{
*bytes_written = 0;