]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mshv: Initialize local variables early upon region invalidation
authorStanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Wed, 10 Dec 2025 17:55:47 +0000 (17:55 +0000)
committerWei Liu <wei.liu@kernel.org>
Mon, 15 Dec 2025 18:31:45 +0000 (18:31 +0000)
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>
drivers/hv/mshv_regions.c

index dc2d7044fb913dd34d59bd6dbf500922ea846fd5..8abf80129f9bd5d0bd3336d88a23ee2aa7d6f16f 100644 (file)
@@ -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)