diff mbox series

kvm: consistently return 0/-errno from kvm_convert_memory

Message ID 20241212155719.524637-1-pbonzini@redhat.com (mailing list archive)
State New
Headers show
Series kvm: consistently return 0/-errno from kvm_convert_memory | expand

Commit Message

Paolo Bonzini Dec. 12, 2024, 3:57 p.m. UTC
In case of incorrect parameters, kvm_convert_memory() was returning
-1 instead of -EINVAL.  The guest won't notice because it will move
anyway to RUN_STATE_INTERNAL_ERROR, but fix this for consistency and
clarity.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 accel/kvm/kvm-all.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Dec. 12, 2024, 6:01 p.m. UTC | #1
On 12/12/24 16:57, Paolo Bonzini wrote:
> In case of incorrect parameters, kvm_convert_memory() was returning
> -1 instead of -EINVAL.  The guest won't notice because it will move
> anyway to RUN_STATE_INTERNAL_ERROR, but fix this for consistency and
> clarity.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   accel/kvm/kvm-all.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Please include a brief docstring:

-- >8 --
diff --git a/include/system/kvm.h b/include/system/kvm.h
index c3a60b28909..923bb07d73d 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -576,6 +576,11 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t 
flags, Error **errp);
  int kvm_set_memory_attributes_private(hwaddr start, uint64_t size);
  int kvm_set_memory_attributes_shared(hwaddr start, uint64_t size);

+/**
+ * kvm_convert_memory:
+ *
+ * Returns: 0 on success, or a negative errno on failure.
+ */
  int kvm_convert_memory(hwaddr start, hwaddr size, bool to_private);

  #endif
---

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 4c5cef766ad..81821af7d7a 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -2998,17 +2998,17 @@  int kvm_convert_memory(hwaddr start, hwaddr size, bool to_private)
     ram_addr_t offset;
     MemoryRegion *mr;
     RAMBlock *rb;
-    int ret = -1;
+    int ret = -EINVAL;
 
     trace_kvm_convert_memory(start, size, to_private ? "shared_to_private" : "private_to_shared");
 
     if (!QEMU_PTR_IS_ALIGNED(start, qemu_real_host_page_size()) ||
         !QEMU_PTR_IS_ALIGNED(size, qemu_real_host_page_size())) {
-        return -1;
+        return ret;
     }
 
     if (!size) {
-        return -1;
+        return ret;
     }
 
     section = memory_region_find(get_system_memory(), start, size);
@@ -3026,7 +3026,7 @@  int kvm_convert_memory(hwaddr start, hwaddr size, bool to_private)
         if (!to_private) {
             return 0;
         }
-        return -1;
+        return ret;
     }
 
     if (!memory_region_has_guest_memfd(mr)) {