diff options
| author | Ricardo Koller <ricarkol@google.com> | 2022-10-17 19:58:23 +0000 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2022-11-10 19:10:27 +0000 |
| commit | b6b03b86c0250a80b671313dbc0d7bcdbab78f41 (patch) | |
| tree | 8b900c4b40e2ed21b0684849f789ddb3c6fcaa2d /tools/testing/selftests/kvm/lib/kvm_util.c | |
| parent | KVM: selftests: aarch64: Add virt_get_pte_hva() library function (diff) | |
| download | linux-b6b03b86c0250a80b671313dbc0d7bcdbab78f41.tar.gz linux-b6b03b86c0250a80b671313dbc0d7bcdbab78f41.zip | |
KVM: selftests: Add missing close and munmap in __vm_mem_region_delete()
Deleting a memslot (when freeing a VM) is not closing the backing fd,
nor it's unmapping the alias mapping. Fix by adding the missing close
and munmap.
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Reviewed-by: Oliver Upton <oupton@google.com>
Reviewed-by: Ben Gardon <bgardon@google.com>
Signed-off-by: Ricardo Koller <ricarkol@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221017195834.2295901-4-ricarkol@google.com
Diffstat (limited to 'tools/testing/selftests/kvm/lib/kvm_util.c')
| -rw-r--r-- | tools/testing/selftests/kvm/lib/kvm_util.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c index f1cb1627161f..19e37fb7de7c 100644 --- a/tools/testing/selftests/kvm/lib/kvm_util.c +++ b/tools/testing/selftests/kvm/lib/kvm_util.c @@ -586,6 +586,12 @@ static void __vm_mem_region_delete(struct kvm_vm *vm, sparsebit_free(®ion->unused_phy_pages); ret = munmap(region->mmap_start, region->mmap_size); TEST_ASSERT(!ret, __KVM_SYSCALL_ERROR("munmap()", ret)); + if (region->fd >= 0) { + /* There's an extra map when using shared memory. */ + ret = munmap(region->mmap_alias, region->mmap_size); + TEST_ASSERT(!ret, __KVM_SYSCALL_ERROR("munmap()", ret)); + close(region->fd); + } free(region); } |
