[PATCH] Drivers: hv: mshv: Fix uninitialized variable in hv_call_map_stat_page()
From: Dan Carpenter
Date: Fri Mar 21 2025 - 10:38:34 EST
If the hv_do_hypercall() succeeds on the first iteration then "ret" is
not initialized. I re-arranged this code to make the loop clearer and
to make it more clear that we return zero on the last line.
Fixes: f5288d14069b ("Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
drivers/hv/mshv_root_hv_call.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/hv/mshv_root_hv_call.c b/drivers/hv/mshv_root_hv_call.c
index b72b59a5068b..a74e13a32183 100644
--- a/drivers/hv/mshv_root_hv_call.c
+++ b/drivers/hv/mshv_root_hv_call.c
@@ -733,7 +733,7 @@ int hv_call_map_stat_page(enum hv_stats_object_type type,
u64 status, pfn;
int ret;
- do {
+ while (1) {
local_irq_save(flags);
input = *this_cpu_ptr(hyperv_pcpu_input_arg);
output = *this_cpu_ptr(hyperv_pcpu_output_arg);
@@ -756,11 +756,11 @@ int hv_call_map_stat_page(enum hv_stats_object_type type,
hv_current_partition_id, 1);
if (ret)
return ret;
- } while (!ret);
+ }
*addr = page_address(pfn_to_page(pfn));
- return ret;
+ return 0;
}
int hv_call_unmap_stat_page(enum hv_stats_object_type type,
--
2.47.2