summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Kinsburskii <skinsburskii@linux.microsoft.com>2025-12-10 17:55:47 +0000
committerWei Liu <wei.liu@kernel.org>2025-12-15 18:31:45 +0000
commitbeb15a6036fecbdc23191f09e4cd57558b0db508 (patch)
treec124f7764cfa6a0def15b72a514fd2fa9f8ee353
parent3a2bcc127e6beb9c3c1e4760110275588cf322bf (diff)
mshv: Initialize local variables early upon region invalidation
Ensure local variables are initialized before use so that the warning can print the right values if locking the region to invalidate fails due to inability to lock the region. Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Fixes: b9a66cd5ccbb ("mshv: Add support for movable memory regions") Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> Signed-off-by: Wei Liu <wei.liu@kernel.org>
-rw-r--r--drivers/hv/mshv_regions.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/hv/mshv_regions.c b/drivers/hv/mshv_regions.c
index dc2d7044fb91..8abf80129f9b 100644
--- a/drivers/hv/mshv_regions.c
+++ b/drivers/hv/mshv_regions.c
@@ -494,13 +494,6 @@ static bool mshv_region_interval_invalidate(struct mmu_interval_notifier *mni,
unsigned long mstart, mend;
int ret = -EPERM;
- if (mmu_notifier_range_blockable(range))
- mutex_lock(&region->mutex);
- else if (!mutex_trylock(&region->mutex))
- goto out_fail;
-
- mmu_interval_set_seq(mni, cur_seq);
-
mstart = max(range->start, region->start_uaddr);
mend = min(range->end, region->start_uaddr +
(region->nr_pages << HV_HYP_PAGE_SHIFT));
@@ -508,6 +501,13 @@ static bool mshv_region_interval_invalidate(struct mmu_interval_notifier *mni,
page_offset = HVPFN_DOWN(mstart - region->start_uaddr);
page_count = HVPFN_DOWN(mend - mstart);
+ if (mmu_notifier_range_blockable(range))
+ mutex_lock(&region->mutex);
+ else if (!mutex_trylock(&region->mutex))
+ goto out_fail;
+
+ mmu_interval_set_seq(mni, cur_seq);
+
ret = mshv_region_remap_pages(region, HV_MAP_GPA_NO_ACCESS,
page_offset, page_count);
if (ret)