Commit 9af35cc2 authored by Bibo Mao's avatar Bibo Mao Committed by Xianglai Li
Browse files

KVM: Discard zero mask with function kvm_dirty_ring_reset

mainline inclusion
from mainline-v6.10-rc5
commit 676f819c3e982db3695a371f336a05086585ea4f
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IAZJDO


CVE: NA

--------------------------------

Function kvm_reset_dirty_gfn may be called with parameters cur_slot /
cur_offset / mask are all zero, it does not represent real dirty page.
It is not necessary to clear dirty page in this condition. Also return
value of macro __fls() is undefined if mask is zero which is called in
funciton kvm_reset_dirty_gfn(). Here just return.

Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
Message-ID: <20240613122803.1031511-1-maobibo@loongson.cn>
[Move the conditional inside kvm_reset_dirty_gfn; suggested by
 Sean Christopherson. - Paolo]
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarXianglai Li <lixianglai@loongson.cn>
parent c4da5eea
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -55,6 +55,9 @@ static void kvm_reset_dirty_gfn(struct kvm *kvm, u32 slot, u64 offset, u64 mask)
	struct kvm_memory_slot *memslot;
	int as_id, id;

	if (!mask)
		return;

	as_id = slot >> 16;
	id = (u16)slot;