[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/1] migration/dirtyrate: Fix segmentation fault
From: |
Masato Imai |
Subject: |
[PATCH v2 1/1] migration/dirtyrate: Fix segmentation fault |
Date: |
Tue, 23 Apr 2024 09:13:08 +0000 |
When the KVM acceleration parameter is not set, executing calc_dirty_rate
with the -r or -b option results in a segmentation fault due to accessing
a null kvm_state pointer in the kvm_dirty_ring_enabled function.
This commit adds a check for kvm_enabled to prevent segmentation faults.
Signed-off-by: Masato Imai <mii@sfc.wide.ad.jp>
---
migration/dirtyrate.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index 1d2e85746f..2a7df52519 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -799,6 +799,13 @@ void qmp_calc_dirty_rate(int64_t calc_time,
* dirty ring mode only works when kvm dirty ring is enabled.
* on the contrary, dirty bitmap mode is not.
*/
+ if (!kvm_enabled() &&
+ (mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING ||
+ mode == DIRTY_RATE_MEASURE_MODE_DIRTY_BITMAP)) {
+ error_setg(errp, "mode %s requires kvm to be enabled.",
+ DirtyRateMeasureMode_str(mode));
+ return;
+ }
if (((mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING) &&
!kvm_dirty_ring_enabled()) ||
((mode == DIRTY_RATE_MEASURE_MODE_DIRTY_BITMAP) &&
--
2.34.1