When the KVM acceleration parameter is not set, executing calc_dirty_rate with the -r option results in a segmentation fault due to accessing a null kvm_state pointer in the kvm_dirty_rate_enabled function. This commit adds a check for kvm_enabled to prevent segmentation faults.
Signed-off-by: Masato Imai <m...@sfc.wide.ad.jp> --- migration/dirtyrate.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index 1d2e85746f..4c1579c6e9 100644 --- a/migration/dirtyrate.c +++ b/migration/dirtyrate.c @@ -800,6 +800,8 @@ void qmp_calc_dirty_rate(int64_t calc_time, * on the contrary, dirty bitmap mode is not. */ if (((mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING) && + !kvm_enabled()) || + ((mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING) && !kvm_dirty_ring_enabled()) || ((mode == DIRTY_RATE_MEASURE_MODE_DIRTY_BITMAP) && kvm_dirty_ring_enabled())) { -- 2.34.1