[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <fac96458-fdb9-4166-94bd-f1d135abc6ba@stanley.mountain>
Date: Fri, 21 Mar 2025 17:35:55 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Nuno Das Neves <nunodasneves@...ux.microsoft.com>
Cc: "K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>,
linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: [PATCH] Drivers: hv: mshv: Fix uninitialized variable in
hv_call_map_stat_page()
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@...aro.org>
---
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
Powered by blists - more mailing lists