On 23/7/25 09:09, Xiaoyao Li wrote:
> Zero out the entire mem explicitly before it's used, to ensure the unused
> feilds (pad1, pad2) are all zeros. Otherwise, it might cause problem when
> the pad fields are extended by future KVM.
>
> Fixes: ce5a983233b4 ("kvm: Enable KVM_SET_USER_MEMORY_REGION2 for memslot")
> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
> ---
> accel/kvm/kvm-all.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index 14d47246ca63..4f4c30fc84b2 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -361,6 +361,7 @@ static int kvm_set_user_memory_region(KVMMemoryListener *kml, KVMSlot *slot, boo
> struct kvm_userspace_memory_region2 mem;
Or:
struct kvm_userspace_memory_region2 mem = { };
Anyhow,
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> int ret;
>
> + memset(&mem, 0, sizeof(mem));
> mem.slot = slot->slot | (kml->as_id << 16);
> mem.guest_phys_addr = slot->start_addr;
> mem.userspace_addr = (unsigned long)slot->ram;